Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
2010-07-02 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : update in sync with sys.xml.
2007-07-02 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : do not bork at non-document element
in XmlReader. Fixed bug #81932.
2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : supply prefix when it was not passed.
2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathNavigator2.cs : apply r72076 to olive too.
2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs : fixed incorrect namespace node links
which happened to following siblings of a node with namespaces.
2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : implemented several members that threw
NotSupportedException. Unlike inside sys.xml they could be invoked.
2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : fill String.Empty for null ns in
WriteStartElement() and WriteStartAttribute().
2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentWriter2.cs : use String.Empty instead of null for
localName for those nodes which do not have own names.
2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
* DTMXPathDocumentBuilder2.cs, DTMXPathNode2.cs,
DTMXPathNavigator2.cs, DTMXPathDocumentWriter2.cs,
DTMXPathDocument2.cs : initial import from System.XML and made
required changes to implement SeekableXPathNavigator.

View File

@@ -0,0 +1,85 @@
//
// Mono.Xml.XPath.DTMXPathDocument2
//
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
// (C) 2004 Novell Inc.
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Collections;
using System.Xml;
using System.Xml.XPath;
namespace Mono.Xml.XPath
{
#if OUTSIDE_SYSTEM_XML
public
#else
internal
#endif
class DTMXPathDocument2 : IXPathNavigable
{
public DTMXPathDocument2 (XmlNameTable nameTable,
DTMXPathLinkedNode2 [] nodes,
DTMXPathAttributeNode2 [] attributes,
DTMXPathNamespaceNode2 [] namespaces,
string [] atomicStringPool,
string [] nonAtomicStringPool,
Hashtable idTable)
{
this.Nodes = nodes;
this.Attributes = attributes;
this.Namespaces = namespaces;
this.AtomicStringPool = atomicStringPool;
this.NonAtomicStringPool = nonAtomicStringPool;
this.IdTable = idTable;
this.NameTable = nameTable;
root = new SeekableDTMXPathNavigator2 (this);
}
public XPathNavigator CreateNavigator ()
{
return root.Clone ();
}
readonly XPathNavigator root;
internal readonly XmlNameTable NameTable;
internal readonly DTMXPathLinkedNode2 [] Nodes;
internal readonly DTMXPathAttributeNode2 [] Attributes;
internal readonly DTMXPathNamespaceNode2 [] Namespaces;
// String pool
internal readonly string [] AtomicStringPool;
internal readonly string [] NonAtomicStringPool;
// ID table
internal readonly Hashtable IdTable;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,104 @@
//
// Mono.Xml.XPath.DTMXPathNode2.cs
//
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
// (C) 2004 Novell Inc
//
// These classes represent each node of DTMXPathNavigator.
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Xml.XPath;
namespace Mono.Xml.XPath
{
#if OUTSIDE_SYSTEM_XML
public
#else
internal
#endif
#if DTM_CLASS
class DTMXPathLinkedNode2
#else
struct DTMXPathLinkedNode2
#endif
{
public int FirstChild;
public int Parent;
public int PreviousSibling;
public int NextSibling;
public int FirstAttribute;
public int FirstNamespace;
public XPathNodeType NodeType;
public int BaseURI;
public bool IsEmptyElement;
public int LocalName;
public int NamespaceURI;
public int Prefix;
public int Value;
public int XmlLang;
public int LineNumber;
public int LinePosition;
}
#if OUTSIDE_SYSTEM_XML
public
#else
internal
#endif
#if DTM_CLASS
class DTMXPathAttributeNode2
#else
struct DTMXPathAttributeNode2
#endif
{
public int OwnerElement;
public int NextAttribute;
public int LocalName;
public int NamespaceURI;
public int Prefix;
public int Value;
public int LineNumber;
public int LinePosition;
}
#if OUTSIDE_SYSTEM_XML
public
#else
internal
#endif
#if DTM_CLASS
class DTMXPathNamespaceNode2
#else
struct DTMXPathNamespaceNode2
#endif
{
public int DeclaredElement;
public int NextNamespace;
public int Name;
public int Namespace;
}
}