访问属性的方法和访问元素的方法是一样的。注意属性名前面有个"@"符号
属性和元素的处理方法是一样的。
你也可以通过是否包含某些属性值来选择元素。 XSLT stylesheet 1 选择了,而 XSLT stylesheet 2 排除了那些包含特定属性的元素。
XML源码
<source>
<dog name="Joe"> <data weight="18 kg" color="black"/> </dog> </source>
输出
<p>
<b>Dog: </b>Joe</p> <p> <b>Color: </b>black</p>
用HTML察看
Dog: Joe Color: black |
XSLT stylesheet
<
xsl:stylesheet
version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> < xsl:template match="dog"> < p> < b> < xsl:text>Dog: </ xsl:text> </ b> < xsl:value-of select="@name"/> </ p> < p> < b> < xsl:text>Color: </ xsl:text> </ b> < xsl:value-of select="data/@color"/> </ p> </ xsl:template> </ xsl:stylesheet> |
属性和元素的处理方法是一样的。
XSLT stylesheet 1
XML源码
<source>
<employee id="js0034"> Joe Smith </employee> </source>
输出
Joe Smith
[<b> <i>js0034</i> </b>]
用HTML察看
Joe Smith [
js0034 ]
|
XSLT stylesheet
<
xsl:stylesheet
version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> < xsl:template match="employee"> < xsl:value-of select="."/> < xsl:text>[</ xsl:text> < xsl:apply-templates select="@id"/> < xsl:text>]</ xsl:text> </ xsl:template> < xsl:template match="@id"> < b> < i> < xsl:value-of select="."/> </ i> </ b> </ xsl:template> </ xsl:stylesheet> |
你也可以通过是否包含某些属性值来选择元素。 XSLT stylesheet 1 选择了,而 XSLT stylesheet 2 排除了那些包含特定属性的元素。
XSLT stylesheet 1
XML源码
<source>
<car id="a234" checked="yes"/> <car id="a111" checked="yes"/> <car id="a005"/> </source>
输出
<p>Car: a234</p>
<p>Car: a111</p>
用HTML察看
Car: a234 Car: a111 |
XSLT stylesheet
<
xsl:stylesheet
version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> < xsl:template match="car[@checked]"> < p> < xsl:text>Car: </ xsl:text> < xsl:value-of select="@id"/> </ p> </ xsl:template> </ xsl:stylesheet> |
XSLT stylesheet 2
XML源码
<source>
<car id="a234" checked="yes"/> <car id="a111" checked="yes"/> <car id="a005"/> </source>
输出
<p>Car: a005</p>
用HTML察看
Car: a005 |
XSLT stylesheet
<
xsl:stylesheet
version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> < xsl:template match="car[not(@checked)]"> < p> < xsl:text>Car: </ xsl:text> < xsl:value-of select="@id"/> </ p> </ xsl:template> </ xsl:stylesheet> |