Nic Miloslav Example 68 | KEYWORDS EXAMPLES AUTHORS |
---|
An example of id function usage.
XML | HOME XSL 1 |
---|
<!DOCTYPE xslTutorial [ |
<!ELEMENT xslTutorial ANY> |
<!ELEMENT xslTutorial (doc,note*)> |
<!ELEMENT doc (#PCDATA|ref)*> |
<!ELEMENT ref EMPTY> |
<!ATTLIST ref id IDREF #REQUIRED> |
<!ELEMENT note (#PCDATA)> |
<!ATTLIST note id ID #REQUIRED>]> |
<xslTutorial > |
<doc> |
This text <ref id="n3"/> demonstrates <ref id="n1"/> a possible usage of id function <ref id="n2"/>. |
</doc> |
<note id="n1">Note n1</note> |
<note id="n2">Note n2</note> |
<note id="n3">Note n3</note> |
</xslTutorial> |
XSL 1 | HOME XML HTML 1 OUTPUT 1 |
---|
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> |
<xsl:output method="html"/> |
<xsl:template match="/"> |
<xsl:apply-templates select="//doc"/> |
<HR/> |
<xsl:for-each select="//ref"> |
<xsl:apply-templates select="id(@id)"> |
<xsl:with-param name="nmbr"><xsl:value-of select="position()"/></xsl:with-param> |
</xsl:apply-templates> |
</xsl:for-each> |
</xsl:template> |
<xsl:template match="ref"> |
<SUP><xsl:value-of select="count(//doc/*) - count(following::ref)"/></SUP> |
</xsl:template> |
<xsl:template match="note"> |
<xsl:param name="nmbr">1</xsl:param> |
<DIV> |
<xsl:number value="$nmbr" format="1. "/> |
<xsl:value-of select="."/> |
</DIV> |
</xsl:template> |
</xsl:stylesheet> |
HTML 1 | HOME XML XSL 1 OUTPUT 1 |
---|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> This text |
<SUP>1</SUP> demonstrates |
<SUP>2</SUP> a possible usage of id function |
<SUP>3</SUP>. |
<HR> |
<DIV>1. Note n3</DIV> |
<DIV>2. Note n1</DIV> |
<DIV>3. Note n2</DIV> |
OUTPUT 1 | HOME XML XSL 1 HTML 1 |
---|