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