|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Error message when match=$variable
> When I run the following stylesheet with > <xsl:template match="$english/node()">, > which should display all the nodes of the english.xml, I get an error A variableReference cannot be used in a Pattern > XSL: > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:variable name="english" > select="document(languages/english.xml)/language"></xsl:variable> You're not looking for the document URL from the english.xml child of language child, but rather from a relative URL languages/english.xml, so the expression inside document() should be in quotes > <xsl:variable name="german" > select="document(languages/german.xml)/language"></xsl:variable> Same here > <xsl:template match="/"> > <html> > <head> > </head> > <body> > <textarea rows="20" cols="100"> > <xsl:apply-templates select="$english/node()" /> You don't want to process the whitespace, so use $english/* > </textarea> > </body> > </html> > </xsl:template> > > <xsl:template match="$english/node()"> Just node() or * will do > <xsl:value-of select="name()" /> = <xsl:value-of select="." /> The as such will be removed by the XSLT engine during whitespace stripping, so wrap it into xsl:text > </xsl:template> > > </xsl:stylesheet> Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






