Subject: RE: [xsl] nodeset extension in .Net? From: "Kirk Allen Evans" <kaevans@xxxxxxxxxxxxx> Date: Tue, 6 Aug 2002 09:26:05 -0400 |
> -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of bryan > Sent: Monday, August 05, 2002 4:55 AM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] nodeset extension in .Net? > > > > I seem to remember that in .Net there isn't a node-set extension > function, and that node-sets are accessible. Does anyone know if this is > correct, cause I'm getting some results here that lead me to conclude > that I need a node-set() function and can't just merrily run an xpath > against my parameter. Here is a sample stylesheet that accepts a node set as a parameter. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" version="1.0" indent="yes"/> <xsl:param name="state_list" select="/.."/> <xsl:template match="/"> <states> <names> <xsl:apply-templates select="$state_list/descr"/> </names> <capitals> <xsl:apply-templates select="$state_list/capital"/> </capitals> </states> </xsl:template> <xsl:template match="descr"> <description> <xsl:value-of select="."/> </description> </xsl:template> <xsl:template match="capital"> <capital_city> <xsl:value-of select="."/> </capital_city> </xsl:template> </xsl:stylesheet> The .NET code to pass a parameter: XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("test.xml")); XmlDocument stateDoc = new XmlDocument(); stateDoc.Load(Server.MapPath("states.xml")); System.Xml.XPath.XPathNavigator nav = stateDoc.CreateNavigator(); System.Xml.XPath.XPathNodeIterator iter = nav.Select("/states/state"); XslTransform trans = new XslTransform(); trans.Load(Server.MapPath("test.xslt")); XsltArgumentList args = new XsltArgumentList(); args.AddParam("state_list",String.Empty,iter); Response.ContentType = "text/xml"; trans.Transform(doc,args,Response.OutputStream); states.xml: <?xml version="1.0" encoding="utf-8" ?> <states> <state> <abbrev>GA</abbrev> <descr>Georgia</descr> <capital>Atlanta</capital> </state> <state> <abbrev>TN</abbrev> <descr>Tennessee</descr> <capital>Nashville</capital> </state> <state> <abbrev>AL</abbrev> <descr>Alabama</descr> <capital>Montgomery</capital> </state> </states> test.xml: <?xml version="1.0" encoding="utf-8" ?> <root/> Kirk Allen Evans http://www.xmlandasp.net "XML and ASP.NET", New Riders Publishing http://www.amazon.com/exec/obidos/ASIN/073571200X XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] nodeset extension in .Net, bryan | Thread | RE: [xsl] XML to XML transformation, Subramanian Subraman |
Re: [xsl] Checking null values in a, Vasu Chakkera | Date | RE: [xsl] Re: nodeset extension in , Kirk Allen Evans |
Month |