|
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 |