[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 Tue, May 16, 2017 at 05:29:27PM -0000, Charles O'Connor coconnor@xxxxxxxxxxxx scripsit: > 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> <xsl:template match="aff"> <xsl:copy> <xsl:apply-templates select="@*" /> <xsl:for-each select="descendant-or-self::text()[not(parent::label)]"> <xsl:value-of select="." /> </xsl:for-each> </xsl:copy> </xsl:template> XSLT 1.0 makes this harder by having odd rules about only taking the first text node; that select in a value-of doesn't work. -- Graydon
|
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
|