Quellcode durchsuchen

2002-07-25 Piers Haken <[email protected]>

	* DefaultContext.cs: implement XPathFunctionName 'name()' function.

svn path=/trunk/mcs/; revision=6180
Piers Haken vor 23 Jahren
Ursprung
Commit
28f14aa361

+ 4 - 0
mcs/class/System.XML/System.Xml.XPath/ChangeLog

@@ -1,3 +1,7 @@
+2002-07-25  Piers Haken <[email protected]>
+
+	* DefaultContext.cs: implement XPathFunctionName 'name()' function.
+
 2002-07-17  Piers Haken <[email protected]>
 	
 	* DefaultContext.cs: implement 'string-length()', 'normalize-space()'

+ 4 - 1
mcs/class/System.XML/System.Xml.XPath/DefaultContext.cs

@@ -286,7 +286,10 @@ namespace System.Xml.XPath
 		[MonoTODO]
 		public override object TypesafeInvoke (XsltContext xsltContext, object[] args, XPathNavigator docContext)
 		{
-			throw new NotImplementedException ();
+			BaseIterator iter = (args.Length == 1) ? ((BaseIterator) args [0]) : new SelfIterator (docContext, xsltContext);
+			if (iter == null || !iter.MoveNext ())
+				return "";
+			return iter.Current.Name;
 		}
 		public override string Name { get { return "name"; }}
 	}

+ 0 - 5
mcs/class/System.XML/System.Xml.XPath/Parser.jay

@@ -247,11 +247,6 @@ Step
 	{
 		$$ = new ExprStep (new NodeTypeTest ((Axes) $1), (ExprPredicates) $3);
 	}
-/*	| AxisSpecifier NCName COLON ASTERISK ZeroOrMorePredicates
-	{
-		$$ = new ExprStep (new NodeNameTestAny ((Axes) $1, (NCName) $2), (ExprPredicates) $5);
-	}
-*/
 	| AxisSpecifier NodeType PAREN_OPEN OptionalLiteral PAREN_CLOSE ZeroOrMorePredicates
 	{
 		$$ = new ExprStep (new NodeTypeTest ((Axes) $1, (XPathNodeType) $2, (String) $4), (ExprPredicates) $6);