Subject: Re: [xsl] [XSL] id() in Ancestor Nodes? From: Alice Ju-Hsuan Wei <ajwei@xxxxxxxxxxx> Date: Thu, 4 Oct 2007 07:03:40 -0400 |
<bookshelf> <bookshelfHeader> <fileDesc> <titleStmt> <title>My Book Collection</title> <principal>2007</principal> </titleStmt> <publicationStmt> <topic>Technology</topic> <date value="2007-10-03">2007</date> </publicationStmt> <sourceDesc> <biblFull> <titleStmt> <title level="monograph" type="main">Technical Book Collection</title> </titleStmt> </biblFull> </sourceDesc> </fileDesc> <profileDesc> <publisherList> <publisherItem> <publication xml:id="apress">Apress</publication> </publisherItem> <publisherItem> <publication xml:id="oreilly">O'Reilly</publication> </publisherItem> <publisherItem> <publication xml:id="wrox">Wrox</publication> </publisherItem>
</publisherList> </profileDesc> </bookshelfHeader> <text> <body> <bookGroup> <collection type="xslt"> <book publish="wrox" date="2002"> <title> <emph>Beginning XSLT</emph> </title> <title> <emph>Essential XML Quick Reference</emph></title> </book> <book publish="oreilly" date="2003"> <title> <emph>.NET and XML</emph> </title> </book> </collection> </bookGroup> </body> </text> </bookshelf>
<xsl:template match="book"> <div> <xsl:call-template name="bookpublisher" /> <span><xsl:apply-templates/> </span> </div> </xsl:template>
<xsl:template name="bookpublisher"> <span class="bookpublisher"> Books Published by <xsl:choose> <xsl:when test="./@publish ='wrox'">Wrox</xsl:when> <xsl:when test="./@publish ='oreilly'">Oreilly</xsl:when> </xsl:choose>, <xsl:attribute name="class"> <xsl:value-of select="./@date" /> </xsl:attribute>. </span> </xsl:template>
<xsl:template match="title"> <i><xsl:apply-templates/></i> </xsl:template>
<xsl:template match="emph"> <b><xsl:apply-templates/></b> </xsl:template>
There is no problem with the functionality of the code above, but when there are more id's to insert, I have to keep on adding the names to the "<xsl:when test=""> list. I tried using the id function:
<xsl:template name="bookpublisher"> <xsl:variable name="name" select="id('@publish')"/> <span class="character"> <xsl:value-of select="$name"/> </span> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] [XSL] id() in Ancestor No, David Carlisle | Thread | Re: [xsl] [XSL] id() in Ancestor No, David Carlisle |
RE: [xsl] Using the Input Document , Kerry, Richard | Date | Re: [xsl] [XSL] id() in Ancestor No, David Carlisle |
Month |