Subject: XSL : template for attribute
From: "Chanukov Orit" <orit@xxxxxxxxxxxxxxx>
Date: Tue, 27 Apr 1999 16:49:02 +0200
|
|
Hello .
How should I write template for attribute ?
In my XML file I have , for example , the following line :
<Field line="16" offset="1" colr="8"
crlf="1" >Selection or command</Field>
crlf attribute should insert <&br>
to the output .
Different nodes of XML tree have this attribute (
not only Field ) .
in XSL file I wrote the following :
<xsl:template match="text()"><xsl:value-of
/></xsl:template>
<xsl:template match="Field"> <xsl:apply-templates
/> </xsl:template>
<xsl:template match="@crlf">
<br></br> </xsl:template>
It doesn't work .
What wrong here ?
See attached XML and XSL files .
Thanks in advance ,
Orit .
|
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<BODY STYLE="background-color:silver" xml:space="preserve" >
<xsl:apply-templates select="Screen"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="Screen">
<p><H1 ><xsl:value-of select="Screen-ID/name"/></H1>
<H1><xsl:value-of select="Title"/></H1></p>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="text()"><xsl:value-of /></xsl:template>
<xsl:template match="Field">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="Instruct">
<p>
<xsl:apply-templates />
</p>
</xsl:template>
<xsl:template match="Footer">
<p >
<xsl:apply-templates />
</p>
</xsl:template>
<xsl:template match="Menu">
<xsl:for-each select="menu-item">
<xsl:entity-ref name="nbsp"></xsl:entity-ref>
<xsl:entity-ref name="nbsp"></xsl:entity-ref>
<xsl:entity-ref name="nbsp"></xsl:entity-ref>
<xsl:value-of select="caption"/>
</xsl:for-each>
</xsl:template>
<xsl:template match="input">
<input >
<xsl:attribute name="size">
<xsl:value-of select="@len"/>
</xsl:attribute>
</input>
</xsl:template>
<xsl:template match="Function-Keys">
<xsl:for-each select="function-item">
<input type="button" >
<xsl:attribute name="value">
<xsl:value-of select="caption"/>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="caption"/>
</xsl:attribute>
</input>
</xsl:for-each>
</xsl:template>
<xsl:template match="@crlf">
<br></br>
</xsl:template>
<xsl:template match="@colr">
<xsl:attribute name="STYLE">color :
<xsl:choose>
<xsl:when test="@colr[.='2']">white</xsl:when >
<xsl:when test="@colr[.='J']">blue</xsl:when >
<xsl:when test="@colr[.='0']">green</xsl:when >
<xsl:when test="@colr[.='9']">red</xsl:when >
<xsl:when test="@colr[.='B']">yellow</xsl:when >
<xsl:when test="@colr[.='H']">pink</xsl:when >
<xsl:otherwise >black</xsl:otherwise >
</xsl:choose>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet><?xml version='1.0'?>
<?xml:stylesheet type="text/xsl" href="newpage4.xsl" ?>
<Screen xmlns:dt="urn:schemas-microsoft-com:datatypes" xml:space="preserve">
<Screen-ID line="1" offset="2" attr="J">
<name>MAIN</name>
<id>1234567890</id>
</Screen-ID>
<Title line="1" offset="33" attr="0">AS/400 Main Menu</Title>
<Field line="2" offset="50" attr="0">System:</Field>
<Field line="2" offset="72" attr="0" crlf="1">S4440738</Field>
<Instruct line="3" offset="2" attr="J">Select one of the following:</Instruct>
<Menu line="5" offset="7" attr="0" >
<menu-item line="5" offset="7" attr="0" crlf="1">
<caption>1. User tasks</caption>
<action>1[Enter]</action>
</menu-item>
<menu-item line="6" offset="7" attr="0" crlf="1">
<caption>2. Office tasks</caption>
<action>2[Enter]</action>
</menu-item>
<menu-item line="7" offset="7" attr="0" crlf="1">
<caption>3. General system tasks</caption>
<action>3[Enter]</action>
</menu-item>
<menu-item line="8" offset="7" attr="0" crlf="1">
<caption>4. Files, libraries, and folders</caption>
<action>4[Enter]</action>
</menu-item>
<menu-item line="9" offset="7" attr="0" crlf="1">
<caption>6. Communications</caption>
<action>6[Enter]</action>
</menu-item>
<menu-item line="10" offset="7" attr="0" crlf="1">
<caption>7. Define or change the system</caption>
<action>7[Enter]</action>
</menu-item>
<menu-item line="11" offset="7" attr="0" crlf="1">
<caption>8. Problem handling</caption>
<action>8[Enter]</action>
</menu-item>
<menu-item line="12" offset="7" attr="0" crlf="1">
<caption>9. Display a menu</caption>
<action>9[Enter]</action>
</menu-item>
<menu-item line="13" offset="7" attr="0" crlf="1" >
<caption>10. Information Assistant options</caption>
<action>10[Enter]</action>
</menu-item>
<menu-item line="14" offset="7" attr="0" crlf="1">
<caption>11. Client Access tasks</caption>
<action>11[Enter]</action>
</menu-item>
<menu-item line="15" offset="7" attr="0" crlf="1">
<caption>90. Sign off</caption>
<action>90[Enter]</action>
</menu-item>
</Menu>
<Field line="16" offset="1" attr="8" crlf="1" >Selection or command</Field>
<Field line="17" offset="1" >===></Field>
<input line="17" offset="5" attr="2" len ="154" crlf="1"></input>
<Function-Keys>
<function-item>
<caption>F3=Exit</caption>
<action>[F3]</action>
</function-item>
<function-item>
<caption>F4=Prompt</caption>
<action>[F4]</action>
</function-item>
<function-item crlf="1">
<caption>F9=Retrieve</caption>
<action>[F9]</action>
</function-item>
<function-item>
<caption>F12=Cancel</caption>
<action>[F12]</action>
</function-item>
<function-item>
<caption>F13=Information Assistant</caption>
<action>[F13]</action>
</function-item>
<function-item crlf="1">
<caption>F23=Set initial menu</caption>
<action>[F23]</action>
</function-item>
</Function-Keys>
<Footer attr="0" crlf="1" >(C) COPYRIGHT IBM CORP. 1980, 1996. </Footer>
</Screen>
|