[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Need to output an opening or closing tag by itself
I have a simple XSLT problem for the gurus. This is my input document: <root> <e t="a"/> <f/> <f/> <e t="b"/> </root> This is the output document I want to produce: <root> <e> <f/> <f/> </e> </root> This is the stylesheet I wrote to do the transformation: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/root"> <root> <xsl:apply-templates/> </root> </xsl:template> <xsl:template match="e"> <xsl:choose> <xsl:when test="@t ='a'"> <e> </xsl:when> <xsl:when test="@t ='b'"> </e> </xsl:when> <xsl:otherwise> <xsl:message terminate="yes"> Unexpected data in attribute t. </xsl:message> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="f"> <xsl:copy/> </xsl:template> </xsl:stylesheet> Here is the Saxon output: $ java -jar "c:\Program Files\Saxon\saxon9.jar" -o out.xml in.xml test.xslt Error on line 16 column 9 of file:/C:/Documents%20and%20Settings/DFREY/Desktop/test/test.xslt: SXXP0003: Error reported by XML parser: The element type "e" must be terminated by the matching end-tag "</e>". Failed to compile stylesheet. 1 error detected. I understand that the source of the error is that the XSLT file is not valid XML because the <e> tag doesn't have a matching </e> tag in the right place. How can I work around this issue to solve my problem? Thanks, David
|
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
|