[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Remove internal parsing and exclude one child
On 16.05.2017 19:29, Charles O'Connor coconnor@xxxxxxxxxxxx wrote:
Using XSLT 1.0/Saxon9he
I have this input
<aff id="aff1"><label>1</label>Jet Propulsion Laboratory (JPL), 4800 Oak Grove Dr Pasadena, CA <addr-line><postal-code>91109</postal-code>, <country>USA</country></addr-line></aff>
<aff id="aff2"><label>2</label>SCRIPPS Institution of Oceanography, 9500 Gilman Drive, <institution>Dept 0230</institution>, <addr-line><city>La Jolla</city>, <state>CA</state> <postal-code>92093-0230</postal-code></addr-line>, <country>USA</country></aff>
And would like to get the same back, without the internal parsing and excluding the contents of <label>, e.g.,
<aff id="aff1">Jet Propulsion Laboratory (JPL), 4800 Oak Grove Dr Pasadena, CA 91109, USA</aff>
<aff id="aff2">SCRIPPS Institution of Oceanography, 9500 Gilman Drive, Dept 0230, La Jolla, CA 92093-0230, USA</aff>
Using this .xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//aff">
<aff id="{@id}">
<xsl:value-of select="."/>
</aff>
</xsl:template>
</xsl:stylesheet>
I get all the text in <aff>, including the text in <label>.
Use
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="aff/label" priority="5"/>
<xsl:template match="aff//*">
<xsl:apply-templates/>
</xsl:template>
Note that Saxon supports XSLT 2.0 so mentioning XSLT 1.0 in the context
of Saxon 9 seems an odd requirement but shouldn't matter for that problem.
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|