From: Oleg T. <he...@us...> - 2005-10-19 13:27:23
|
Update of /cvsroot/mvp-xml/Common/v1/src/XPath In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10950/v1/src/XPath Modified Files: IndexingXPathNavigator.cs XPathCache.cs XPathIteratorReader.cs Log Message: Index: XPathCache.cs =================================================================== RCS file: /cvsroot/mvp-xml/Common/v1/src/XPath/XPathCache.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- XPathCache.cs 16 Oct 2005 16:51:24 -0000 1.4 +++ XPathCache.cs 19 Oct 2005 13:27:10 -0000 1.5 @@ -319,7 +319,7 @@ /// Selects a node set using the specified XPath expression and sort. /// </summary> /// <remarks> - /// See <see cref="XPathExpression.AddSort(object, IComparer)"/>. + /// See <see cref="XPathExpression.AddSort"/>. /// </remarks> public static XPathNodeIterator SelectSorted(string expression, XPathNavigator source, object sortExpression, IComparer comparer) @@ -333,7 +333,7 @@ /// Selects a node set using the specified XPath expression and sort. /// </summary> /// <remarks> - /// See <see cref="XPathExpression.AddSort(object, IComparer)"/>. + /// See <see cref="XPathExpression.AddSort"/>. /// </remarks> public static XPathNodeIterator SelectSorted(string expression, XPathNavigator source, object sortExpression, XmlSortOrder order, XmlCaseOrder caseOrder, string lang, XmlDataType dataType ) @@ -531,7 +531,7 @@ /// Selects a node set using the specified XPath expression and sort. /// </summary> /// <remarks> - /// See <see cref="XPathExpression.AddSort(object, IComparer)"/>. + /// See <see cref="XPathExpression.AddSort"/>. /// </remarks> public static XmlNodeList SelectNodesSorted(string expression, XmlNode source, object sortExpression, IComparer comparer) @@ -544,7 +544,7 @@ /// Selects a node set using the specified XPath expression and sort. /// </summary> /// <remarks> - /// See <see cref="XPathExpression.AddSort(object, IComparer)"/>. + /// See <see cref="XPathExpression.AddSort"/>. /// </remarks> public static XmlNodeList SelectNodesSorted(string expression, XmlNode source, object sortExpression, XmlSortOrder order, XmlCaseOrder caseOrder, string lang, XmlDataType dataType ) Index: XPathIteratorReader.cs =================================================================== RCS file: /cvsroot/mvp-xml/Common/v1/src/XPath/XPathIteratorReader.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- XPathIteratorReader.cs 16 Oct 2005 16:51:24 -0000 1.3 +++ XPathIteratorReader.cs 19 Oct 2005 13:27:10 -0000 1.4 @@ -143,19 +143,19 @@ get { return _current.IsEmptyElement; } } - /// <summary>See <see cref="XmlReader.this[string, string]"/></summary> + /// <summary>See <see cref="XmlReader.this"/></summary> public override string this[string name, string ns] { get { return _current[name, ns]; } } - /// <summary>See <see cref="XmlReader.this[string]"/></summary> + /// <summary>See <see cref="XmlReader.this"/></summary> public override string this[string name] { get { return _current[name, String.Empty]; } } - /// <summary>See <see cref="XmlReader.this[int]"/></summary> + /// <summary>See <see cref="XmlReader.this"/></summary> public override string this[int i] { get { return _current[i]; } @@ -238,19 +238,19 @@ _current.Close(); } - /// <summary>See <see cref="XmlReader.GetAttribute(string, string)"/></summary> + /// <summary>See <see cref="XmlReader.GetAttribute"/></summary> public override string GetAttribute(string name, string ns) { return _current.GetAttribute(name, ns); } - /// <summary>See <see cref="XmlReader.GetAttribute(string)"/></summary> + /// <summary>See <see cref="XmlReader.GetAttribute"/></summary> public override string GetAttribute(string name) { return _current.GetAttribute(name); } - /// <summary>See <see cref="XmlReader.GetAttribute(int)"/></summary> + /// <summary>See <see cref="XmlReader.GetAttribute"/></summary> public override string GetAttribute(int i) { return _current.GetAttribute(i); @@ -262,19 +262,19 @@ return _current.LookupNamespace(prefix); } - /// <summary>See <see cref="XmlReader.MoveToAttribute(string, string)"/></summary> + /// <summary>See <see cref="XmlReader.MoveToAttribute"/></summary> public override bool MoveToAttribute(string name, string ns) { return _current.MoveToAttribute(name, ns); } - /// <summary>See <see cref="XmlReader.MoveToAttribute(string)"/></summary> + /// <summary>See <see cref="XmlReader.MoveToAttribute"/></summary> public override bool MoveToAttribute(string name) { return _current.MoveToAttribute(name); } - /// <summary>See <see cref="XmlReader.MoveToAttribute(int)"/></summary> + /// <summary>See <see cref="XmlReader.MoveToAttribute"/></summary> public override void MoveToAttribute(int i) { _current.MoveToAttribute(i); @@ -318,7 +318,7 @@ if (read) { // Just move to the next node and create the reader. - _current = _iterator.Current.ReadSubtree(); + _current = new XPathNavigatorReader(_iterator.Current); return _current.Read(); } else @@ -464,20 +464,20 @@ { get { return false; } } - - /// <summary>See <see cref="XmlReader.this[string, string]"/></summary> + + /// <summary>See <see cref="XmlReader.this"/></summary> public override string this[string name, string ns] { get { return null; } } - /// <summary>See <see cref="XmlReader.this[string]"/></summary> + /// <summary>See <see cref="XmlReader.this"/></summary> public override string this[string name] { get { return null; } } - /// <summary>See <see cref="XmlReader.this[string]"/></summary> + /// <summary>See <see cref="XmlReader.this"/></summary> public override string this[int i] { get { return null; } @@ -559,19 +559,19 @@ _state = ReadState.Closed; } - /// <summary>See <see cref="XmlReader.GetAttribute(string, string)"/></summary> + /// <summary>See <see cref="XmlReader.GetAttribute"/></summary> public override string GetAttribute(string name, string ns) { return null; } - /// <summary>See <see cref="XmlReader.GetAttribute(string)"/></summary> + /// <summary>See <see cref="XmlReader.GetAttribute"/></summary> public override string GetAttribute(string name) { return null; } - /// <summary>See <see cref="XmlReader.GetAttribute(int)"/></summary> + /// <summary>See <see cref="XmlReader.GetAttribute"/></summary> public override string GetAttribute(int i) { return null; @@ -583,19 +583,19 @@ return null; } - /// <summary>See <see cref="XmlReader.MoveToAttribute(string, string)"/></summary> + /// <summary>See <see cref="XmlReader.MoveToAttribute"/></summary> public override bool MoveToAttribute(string name, string ns) { return false; } - /// <summary>See <see cref="XmlReader.MoveToAttribute(string)"/></summary> + /// <summary>See <see cref="XmlReader.MoveToAttribute"/></summary> public override bool MoveToAttribute(string name) { return false; } - /// <summary>See <see cref="XmlReader.MoveToAttribute(int)"/></summary> + /// <summary>See <see cref="XmlReader.MoveToAttribute"/></summary> public override void MoveToAttribute(int i) { } Index: IndexingXPathNavigator.cs =================================================================== RCS file: /cvsroot/mvp-xml/Common/v1/src/XPath/IndexingXPathNavigator.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- IndexingXPathNavigator.cs 16 Oct 2005 16:51:24 -0000 1.3 +++ IndexingXPathNavigator.cs 19 Oct 2005 13:27:10 -0000 1.4 @@ -1,7 +1,7 @@ #region using using System; -using System.Collections.Generic; +using System.Collections; using System.Xml; using System.Xml.XPath; using System.Xml.Xsl; @@ -150,7 +150,7 @@ } /// <summary> - /// See <see cref="XPathItem.Value"/>. + /// See <see cref="XPathNavigator.Value"/>. /// </summary> public override string Value { @@ -246,7 +246,7 @@ } /// <summary> - /// See <see cref="XPathNavigator.MoveToFirstNamespace(XPathNamespaceScope)"/>. + /// See <see cref="XPathNavigator.MoveToFirstNamespace"/>. /// </summary> public override bool MoveToFirstNamespace(XPathNamespaceScope namespaceScope) { @@ -254,7 +254,7 @@ } /// <summary> - /// See <see cref="XPathNavigator.MoveToNextNamespace(XPathNamespaceScope)"/>. + /// See <see cref="XPathNavigator.MoveToNextNamespace"/>. /// </summary> public override bool MoveToNextNamespace(XPathNamespaceScope namespaceScope) { @@ -262,7 +262,7 @@ } /// <summary> - /// See <see cref="XPathNavigator.MoveToNext()"/>. + /// See <see cref="XPathNavigator.MoveToNext"/>. /// </summary> public override bool MoveToNext() { @@ -585,8 +585,8 @@ /// </summary> private class XPathNavigatorIndex { - private IList<KeyDef> keys; - private IDictionary<string, List<XPathNavigator>> index; + private ArrayList keys; + private Hashtable index; private Type arrayIteratorType; /// <summary> @@ -594,8 +594,8 @@ /// </summary> public XPathNavigatorIndex() { - keys = new List<KeyDef>(); - index = new Dictionary<string, List<XPathNavigator>>(); + keys = new ArrayList(); + index = new Hashtable(); Assembly systemXml = typeof(XPathNodeIterator).Assembly; // TODO: is there another way? arrayIteratorType = systemXml.GetType("System.Xml.XPath.XPathArrayIterator"); @@ -624,27 +624,27 @@ //converted to a string as if by a call to the string function; it //returns a node-set containing the nodes in the same document as //the context node that have a value for the named key equal to this string. - List<XPathNavigator> indexedNodes = null; + ArrayList indexedNodes = null; if (keyValue is XPathNodeIterator) { XPathNodeIterator nodes = keyValue as XPathNodeIterator; while (nodes.MoveNext()) - { - IList<XPathNavigator> chunkOfIndexedNodes = index[nodes.Current.Value]; + { + ArrayList chunkOfIndexedNodes = (ArrayList)index[nodes.Current.Value]; if (chunkOfIndexedNodes != null) { if (indexedNodes == null) - indexedNodes = new List<XPathNavigator>(); + indexedNodes = new ArrayList(); indexedNodes.AddRange(chunkOfIndexedNodes); } } } else { - indexedNodes = index[keyValue.ToString()]; + indexedNodes = (ArrayList)index[keyValue.ToString()]; } if (indexedNodes == null) - indexedNodes = new List<XPathNavigator>(0); + indexedNodes = new ArrayList(0); return (XPathNodeIterator) Activator.CreateInstance( arrayIteratorType, BindingFlags.Instance | BindingFlags.Public | @@ -691,10 +691,10 @@ private void AddNodeToIndex(XPathNavigator node, string key) { //Get slot - List<XPathNavigator> indexedNodes = index[key]; + ArrayList indexedNodes = (ArrayList)index[key]; if (indexedNodes == null) { - indexedNodes = new List<XPathNavigator>(); + indexedNodes = new ArrayList(); index.Add(key, indexedNodes); } indexedNodes.Add(node.Clone()); @@ -710,7 +710,7 @@ /// </summary> private class XPathNavigatorIndexManager { - private IDictionary<string, XPathNavigatorIndex> indexes; + private Hashtable indexes; private XPathNavigator nav; private bool indexed; @@ -726,8 +726,8 @@ this.nav = nav; //Named indexes are stored in a hashtable. if (indexes == null) - indexes = new Dictionary<string, XPathNavigatorIndex>(); - XPathNavigatorIndex index = indexes[indexName]; + indexes = new Hashtable(); + XPathNavigatorIndex index = (XPathNavigatorIndex)indexes[indexName]; if (index == null) { index = new XPathNavigatorIndex(); @@ -790,7 +790,7 @@ { if (!indexed) BuildIndexes(); - XPathNavigatorIndex index = indexes[indexName]; + XPathNavigatorIndex index = (XPathNavigatorIndex)indexes[indexName]; return index == null? null : index.GetNodes(value); } } |