From: Oleg T. <he...@us...> - 2005-10-15 22:11:26
|
Update of /cvsroot/mvp-xml/EXSLT/v1/src/Exslt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28217/v2/src/Exslt Modified Files: ExsltContext.cs ExsltMath.cs ExsltNamespaces.cs ExsltNodeList.cs ExsltTransform.cs Log Message: Index: ExsltNamespaces.cs =================================================================== RCS file: /cvsroot/mvp-xml/EXSLT/v1/src/Exslt/ExsltNamespaces.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ExsltNamespaces.cs 19 Jul 2005 19:46:54 -0000 1.1 +++ ExsltNamespaces.cs 15 Oct 2005 22:11:16 -0000 1.2 @@ -2,8 +2,7 @@ /// <summary> /// Exslt (and other) namespaces constants. /// </summary> - public class ExsltNamespaces { - public const string Common = "http://exslt.org/common"; + public class ExsltNamespaces { public const string DatesAndTimes = "http://exslt.org/dates-and-times"; public const string Math = "http://exslt.org/math"; public const string Random = "http://exslt.org/random"; Index: ExsltContext.cs =================================================================== RCS file: /cvsroot/mvp-xml/EXSLT/v1/src/Exslt/ExsltContext.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ExsltContext.cs 15 Oct 2005 21:24:17 -0000 1.2 +++ ExsltContext.cs 15 Oct 2005 22:11:16 -0000 1.3 @@ -102,68 +102,63 @@ } #endregion - - private void AddExtensionNamespaces() { - //remove all our extension objects in case the ExsltContext is being reused - RemoveNamespace("exsl", ExsltNamespaces.Common); - RemoveNamespace("math", ExsltNamespaces.Math); - RemoveNamespace("date", ExsltNamespaces.DatesAndTimes); - RemoveNamespace("regexp", ExsltNamespaces.RegularExpressions); + + #region Private methods + private void AddExtensionNamespaces() + { + //remove all our extension objects in case the ExsltContext is being reused + RemoveNamespace("math", ExsltNamespaces.Math); + RemoveNamespace("date", ExsltNamespaces.DatesAndTimes); + RemoveNamespace("regexp", ExsltNamespaces.RegularExpressions); RemoveNamespace("str", ExsltNamespaces.Strings); - RemoveNamespace("set", ExsltNamespaces.Sets); - RemoveNamespace("random", ExsltNamespaces.Random); + RemoveNamespace("set", ExsltNamespaces.Sets); + RemoveNamespace("random", ExsltNamespaces.Random); RemoveNamespace("date2", ExsltNamespaces.GDNDatesAndTimes); RemoveNamespace("math2", ExsltNamespaces.GDNMath); RemoveNamespace("regexp2", ExsltNamespaces.GDNRegularExpressions); RemoveNamespace("set2", ExsltNamespaces.GDNSets); RemoveNamespace("str2", ExsltNamespaces.GDNStrings); RemoveNamespace("dyn2", ExsltNamespaces.GDNDynamic); - - //add extension objects as specified by SupportedFunctions - if((this.SupportedFunctions & ExsltFunctionNamespace.Common) > 0) - AddNamespace("exsl", ExsltNamespaces.Common); - if((this.SupportedFunctions & ExsltFunctionNamespace.Math) > 0) + //add extension objects as specified by SupportedFunctions + if ((this.SupportedFunctions & ExsltFunctionNamespace.Math) > 0) AddNamespace("math", ExsltNamespaces.Math); - if((this.SupportedFunctions & ExsltFunctionNamespace.DatesAndTimes) > 0) + if ((this.SupportedFunctions & ExsltFunctionNamespace.DatesAndTimes) > 0) AddNamespace("date", ExsltNamespaces.DatesAndTimes); - if((this.SupportedFunctions & ExsltFunctionNamespace.RegularExpressions) > 0) + if ((this.SupportedFunctions & ExsltFunctionNamespace.RegularExpressions) > 0) AddNamespace("regexp", ExsltNamespaces.RegularExpressions); - if((this.SupportedFunctions & ExsltFunctionNamespace.Strings) > 0) + if ((this.SupportedFunctions & ExsltFunctionNamespace.Strings) > 0) AddNamespace("str", ExsltNamespaces.Strings); - if((this.SupportedFunctions & ExsltFunctionNamespace.Sets) > 0) + if ((this.SupportedFunctions & ExsltFunctionNamespace.Sets) > 0) AddNamespace("set", ExsltNamespaces.Sets); - if((this.SupportedFunctions & ExsltFunctionNamespace.Random) > 0) + if ((this.SupportedFunctions & ExsltFunctionNamespace.Random) > 0) AddNamespace("random", ExsltNamespaces.Random); - - if((this.SupportedFunctions & ExsltFunctionNamespace.GDNDatesAndTimes) > 0) + + if ((this.SupportedFunctions & ExsltFunctionNamespace.GDNDatesAndTimes) > 0) AddNamespace("date2", ExsltNamespaces.GDNDatesAndTimes); - - if((this.SupportedFunctions & ExsltFunctionNamespace.GDNMath) > 0) + + if ((this.SupportedFunctions & ExsltFunctionNamespace.GDNMath) > 0) AddNamespace("math2", ExsltNamespaces.GDNMath); - - if((this.SupportedFunctions & ExsltFunctionNamespace.GDNRegularExpressions) > 0) + + if ((this.SupportedFunctions & ExsltFunctionNamespace.GDNRegularExpressions) > 0) AddNamespace("regexp2", ExsltNamespaces.GDNRegularExpressions); - - if((this.SupportedFunctions & ExsltFunctionNamespace.GDNSets) > 0) + + if ((this.SupportedFunctions & ExsltFunctionNamespace.GDNSets) > 0) AddNamespace("set2", ExsltNamespaces.GDNSets); - - if((this.SupportedFunctions & ExsltFunctionNamespace.GDNStrings) > 0) - AddNamespace("str2", ExsltNamespaces.GDNStrings); - if((this.SupportedFunctions & ExsltFunctionNamespace.GDNDynamic) > 0) - AddNamespace("dyn2", ExsltNamespaces.GDNDynamic); - } - - public override int CompareDocument(string baseUri, string nextbaseUri) { - return 0; - } - + if ((this.SupportedFunctions & ExsltFunctionNamespace.GDNStrings) > 0) + AddNamespace("str2", ExsltNamespaces.GDNStrings); + + if ((this.SupportedFunctions & ExsltFunctionNamespace.GDNDynamic) > 0) + AddNamespace("dyn2", ExsltNamespaces.GDNDynamic); + } + #endregion + #region Public Properties /// <summary> /// Bitwise enumeration used to specify which EXSLT functions should be accessible to @@ -177,69 +172,78 @@ get { return _supportedFunctions; } } #endregion - - - public override bool PreserveWhitespace(XPathNavigator node) { - return true; - } - - public override bool Whitespace { - get { return true; } - } - - /// <summary> - /// Resolves variables. - /// </summary> - /// <param name="prefix">The variable's prefix</param> - /// <param name="name">The variable's name</param> - /// <returns></returns> - public override IXsltContextVariable ResolveVariable(string prefix, string name) { - return null; - } - - /// <summary> - /// Resolves custom function in XPath expression. - /// </summary> - /// <param name="prefix">The prefix of the function as it appears in the XPath expression.</param> - /// <param name="name">The name of the function.</param> - /// <param name="argTypes">An array of argument types for the function being resolved. - /// This allows you to select between methods with the same name (for example, overloaded - /// methods). </param> + + #region XsltContext Overrides + public override int CompareDocument(string baseUri, string nextbaseUri) + { + return 0; + } + + public override bool PreserveWhitespace(XPathNavigator node) + { + return true; + } + + public override bool Whitespace + { + get { return true; } + } + + /// <summary> + /// Resolves variables. + /// </summary> + /// <param name="prefix">The variable's prefix</param> + /// <param name="name">The variable's name</param> + /// <returns></returns> + public override IXsltContextVariable ResolveVariable(string prefix, string name) + { + return null; + } + + /// <summary> + /// Resolves custom function in XPath expression. + /// </summary> + /// <param name="prefix">The prefix of the function as it appears in the XPath expression.</param> + /// <param name="name">The name of the function.</param> + /// <param name="argTypes">An array of argument types for the function being resolved. + /// This allows you to select between methods with the same name (for example, overloaded + /// methods). </param> /// <returns>An IXsltContextFunction representing the function.</returns> - public override IXsltContextFunction ResolveFunction(string prefix, string name, - XPathResultType[] argTypes) { - switch (LookupNamespace(_nt.Get(prefix))) { - case ExsltNamespaces.Common: - return GetExtensionFunctionImplementation(exsltCommon, name, argTypes); - case ExsltNamespaces.DatesAndTimes: - return GetExtensionFunctionImplementation(exsltDatesAndTimes, name, argTypes); - case ExsltNamespaces.Math: - return GetExtensionFunctionImplementation(exsltMath, name, argTypes); - case ExsltNamespaces.RegularExpressions: - return GetExtensionFunctionImplementation(exsltRegularExpressions, name, argTypes); - case ExsltNamespaces.Sets: - return GetExtensionFunctionImplementation(exsltSets, name, argTypes); - case ExsltNamespaces.Strings: - return GetExtensionFunctionImplementation(exsltStrings, name, argTypes); - case ExsltNamespaces.Random: - return GetExtensionFunctionImplementation(exsltRandom, name, argTypes); + public override IXsltContextFunction ResolveFunction(string prefix, string name, + XPathResultType[] argTypes) + { + switch (LookupNamespace(_nt.Get(prefix))) + { + case ExsltNamespaces.DatesAndTimes: + return GetExtensionFunctionImplementation(exsltDatesAndTimes, name, argTypes); + case ExsltNamespaces.Math: + return GetExtensionFunctionImplementation(exsltMath, name, argTypes); + case ExsltNamespaces.RegularExpressions: + return GetExtensionFunctionImplementation(exsltRegularExpressions, name, argTypes); + case ExsltNamespaces.Sets: + return GetExtensionFunctionImplementation(exsltSets, name, argTypes); + case ExsltNamespaces.Strings: + return GetExtensionFunctionImplementation(exsltStrings, name, argTypes); + case ExsltNamespaces.Random: + return GetExtensionFunctionImplementation(exsltRandom, name, argTypes); case ExsltNamespaces.GDNDatesAndTimes: - return GetExtensionFunctionImplementation(gdnDatesAndTimes, name, argTypes); - case ExsltNamespaces.GDNMath: - return GetExtensionFunctionImplementation(gdnMath, name, argTypes); - case ExsltNamespaces.GDNRegularExpressions: - return GetExtensionFunctionImplementation(gdnRegularExpressions, name, argTypes); - case ExsltNamespaces.GDNSets: - return GetExtensionFunctionImplementation(gdnSets, name, argTypes); - case ExsltNamespaces.GDNStrings: - return GetExtensionFunctionImplementation(gdnStrings, name, argTypes); - case ExsltNamespaces.GDNDynamic: - return GetExtensionFunctionImplementation(gdnDynamic, name, argTypes); - default: - throw new XPathException(string.Format("Unrecognized extension function namespace: prefix='{0}', namespace URI='{1}'", - prefix, LookupNamespace(_nt.Get(prefix))), null); - } - } + return GetExtensionFunctionImplementation(gdnDatesAndTimes, name, argTypes); + case ExsltNamespaces.GDNMath: + return GetExtensionFunctionImplementation(gdnMath, name, argTypes); + case ExsltNamespaces.GDNRegularExpressions: + return GetExtensionFunctionImplementation(gdnRegularExpressions, name, argTypes); + case ExsltNamespaces.GDNSets: + return GetExtensionFunctionImplementation(gdnSets, name, argTypes); + case ExsltNamespaces.GDNStrings: + return GetExtensionFunctionImplementation(gdnStrings, name, argTypes); + case ExsltNamespaces.GDNDynamic: + return GetExtensionFunctionImplementation(gdnDynamic, name, argTypes); + default: + throw new XPathException(string.Format("Unrecognized extension function namespace: prefix='{0}', namespace URI='{1}'", + prefix, LookupNamespace(_nt.Get(prefix))), null); + } + } + #endregion /// <summary> /// Finds appropriate implementation for an extension function - public Index: ExsltMath.cs =================================================================== RCS file: /cvsroot/mvp-xml/EXSLT/v1/src/Exslt/ExsltMath.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ExsltMath.cs 19 Jul 2005 19:46:54 -0000 1.1 +++ ExsltMath.cs 15 Oct 2005 22:11:16 -0000 1.2 @@ -3,6 +3,7 @@ using System; using System.Xml; using System.Xml.XPath; +using System.Collections.Generic; #endregion @@ -129,11 +130,11 @@ /// <returns>All the nodes that contain the min value in the nodeset</returns> public XPathNodeIterator lowest(XPathNodeIterator iterator){ - ExsltNodeList newList = new ExsltNodeList(); + IList<XPathNavigator> newList = new List<XPathNavigator>(); double min, t; if(iterator.Count == 0){ - return ExsltCommon.ExsltNodeListToXPathNodeIterator(newList); + return newList; } Index: ExsltNodeList.cs =================================================================== RCS file: /cvsroot/mvp-xml/EXSLT/v1/src/Exslt/ExsltNodeList.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ExsltNodeList.cs 19 Jul 2005 19:46:55 -0000 1.1 +++ ExsltNodeList.cs 15 Oct 2005 22:11:16 -0000 1.2 @@ -1,7 +1,7 @@ #region using using System; -using System.Collections; +using System.Collections.Generic; using System.Xml.XPath; #endregion @@ -19,7 +19,7 @@ /// <summary> /// The inner arraylist used by this class. /// </summary> - internal ArrayList innerList = new ArrayList(); + internal IList<XPathNavigator> innerList = new List<XPathNavigator>(); #endregion @@ -52,7 +52,7 @@ /// in the iterator are placed in the list. /// </summary> /// <param name="iterator">The iterator to load the nodelist from</param> - public ExsltNodeList(XPathNodeIterator iterator): this(iterator, false){;} + public ExsltNodeList(XPathNodeIterator iterator): this(iterator, false) {} @@ -91,18 +91,17 @@ /// Returns an enumerator for the entire list. /// </summary> /// <returns>An enumerator for the entire list</returns> - public IEnumerator GetEnumerator(){ + public IEnumerator<XPathNavigator> GetEnumerator(){ return this.innerList.GetEnumerator(); } /// <summary> /// Adds an item to the list /// </summary> - /// <param name="value">The item to add</param> - /// <returns>The position into which the new element was inserted</returns> - public int Add( XPathNavigator nav){ + /// <param name="value">The item to add</param> + public void Add( XPathNavigator nav){ - return this.innerList.Add(nav); + this.innerList.Add(nav); } @@ -153,7 +152,7 @@ /// <returns>The index of value if found in the list; otherwise, -1.</returns> public int IndexOf( object value ){ - return this.innerList.IndexOf(value); + return this.innerList.IndexOf(value as XPathNavigator); } /// <summary> Index: ExsltTransform.cs =================================================================== RCS file: /cvsroot/mvp-xml/EXSLT/v1/src/Exslt/ExsltTransform.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ExsltTransform.cs 15 Oct 2005 21:24:17 -0000 1.3 +++ ExsltTransform.cs 15 Oct 2005 22:11:16 -0000 1.4 @@ -73,7 +73,7 @@ /// <summary> /// The XslTransform object wrapped by this class. /// </summary> - private XslTransform xslTransform; + private XslCompiledTransform xslTransform; /// <summary> /// Bitwise enumeration used to specify which EXSLT functions should be accessible to @@ -189,7 +189,7 @@ /// Constructor initializes class. /// </summary> public ExsltTransform(){ - this.xslTransform = new XslTransform(); + this.xslTransform = new XslCompiledTransform(); } #endregion |