Subject: Re: [xsl] process xslt and xml spreadsheet via web browser From: "Abel Braaksma (Exselt) abel@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 12 Sep 2014 12:09:14 -0000 |
See my comments below. > -----Original Message----- > From: rl@xxxxxxxxxxxxxxx [mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] > Subject: [xsl] process xslt and xml spreadsheet via web browser > > > <?xml version="1.0"?> > <xsl:stylesheet > version="2.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns='http://www.w3.org/1999/xhtml'> > <xsl:output > method="text" > encoding="utf-8" > indent="no" > omit-xml-declaration="yes" > media-type="text/plain" > standalone="yes" > /> > <xsl:template match='Cells'> > <xsl:apply-templates select='Cell'/> > </xsl:template> > </xsl:stylesheet> > > The Jedit text editor was used with the plugin XLST processor (uses Xalan > Java), which produces the text file (below). Why does the text file contain > text from nodes outside the nodes 'Cells' and 'Cell'? > <snip /> > <gnm:Cells> > <gnm:Cell Row="0" Col="0" ValueType="60">columnnamea</gnm:Cell> > <gnm:Cell Row="0" Col="1" ValueType="60">columnnameb</gnm:Cell> (1) You don't match the Cell elements in your input XML. You have gnm:Cells and gnm:Cell in your input, which is in another namespace then the default namespace. (2) There are many elements you do not match, the default template kicks in, which just dumps the text nodes. Solution for (1) Add that namespace to your stylesheet and add the namespace to your patterns and XPath expressions, i.e. match="gnm:Cells" and select="gnm:Cell". Solution for (2) Add a "delete-all-except" template to your stylesheet (there are many other options to solve this one). This will continue processing the nodes depth-first and will prevent non-matching nodes to output text. The priority rules for XSLT templates make sure that this template is called only unless other templates do not match. <!-- match everything, keep processing, output nothing --> <xsl:template match="node()"> <xsl:apply-templates /> </xsl:template> Cheers, Abel Braaksma Exselt XSLT 3.0 Streaming processor http://exselt.net
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] process xslt and xml spreadsh, rl@xxxxxxxxxxxxxxx | Thread | Re: [xsl] process xslt and xml spre, Tony Graham tgraham@ |
[xsl] process xslt and xml spreadsh, rl@xxxxxxxxxxxxxxx | Date | Re: [xsl] process xslt and xml spre, Tony Graham tgraham@ |
Month |