Subject: Re: [xsl] Can a single XPath statement duplicate the functionality of this verbose <xsl:choose> statement? From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 23 Oct 2011 20:56:11 -0400 |
Hi Ken, Yes, only one attribute to either element.
You said: xsl:copy-of select="( ../Location[name(@*)=name(current()/@*)] , ../Location/@denomination , '0' )[1]"/>
but I may have explained my needs incorrectly. Your statement works on the first example below [uses @denomination] but returns nothing for the second example; there it should return the value of the <Locations @souvenir-sheet>, i.e., '1'.
~/t/ftemp $ cat mark.xml <Stamps> <Stamp> <Formats souvenir-sheet="2895"/> <Location denomination="1"/> </Stamp>
<Stamp> <Formats souvenir-sheet="2896"/> <Location denomination="5"/> <Location souvenir-sheet="1"/> </Stamp> </Stamps>~/t/ftemp $ cat mark.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output indent="yes"/> <xsl:template match="/"> <xsl:for-each select="//Formats"> <result> <xsl:copy-of select="( ../Location/@*[name(.)=name(current()/@*)] , ../Location/@denomination, '0' )[1]"/> </result> </xsl:for-each> </xsl:template> </xsl:stylesheet>~/t/ftemp $ xslt2 mark.xml mark.xsl <?xml version="1.0" encoding="UTF-8"?> <result denomination="1"/> <result souvenir-sheet="1"/>~/t/ftemp $
-- Contact us for world-wide XML consulting and instructor-led training Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Can a single XPath statem, Mark | Thread | Re: [xsl] Can a single XPath statem, Mark |
Re: [xsl] Can a single XPath statem, Dimitre Novatchev | Date | Re: [xsl] Can a single XPath statem, Mark |
Month |