|
XML卷之实战锦囊(5):结构树图(4) 只不过是使用的场合不同,他们的书写形式也就不一样。 <xsl:apply-templates select="team" order-by="blue_ID"/> 比如我们想生成以下代码 <div 名称=“参数值”>内容</div>
我们假设名称为“name”,参数值为XML数据中当前节点下面的子节点book的值
第一种写法是先加属性名称,再加参数值 <div> <xsl:attribute name="name"> <xsl:value-of select="./book/text()"/> </xsl:attribute> 内容 </div>
第二种写法是直接加属性名称和参数值 <div name="{./book/text()}">内容</div>
具体的使用你可以看我写的代码中的例子。
XSL在正式的 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 的标准里
<xsl:value-of select="./book/text()"/> 作用是:只是把他的文本值写出来,而 <xsl:value-of select="./book"/> 是把他的文本值和他的所有子节点的内容显示出来。 大家可以试验一下,输出一个有子节点的,一个无子节点的 看看显示的结果是否相同。
(2)需要注意:
IE5 不支持 <tag att="{xpath}"> 要用 <tag><xsl:attribute name="att"><xsl:value-of select="xpath"></xsl:attribute>
命名空间要用 xmlns:xsl="http://www.w3.org/TR/WD-xsl"
<?xml version="1.0" encoding="gb2312" ?> 另外说一点: 在大多的XML教科书中所显示的代码中很少会加上encoding="gb2312" , 因此我们在XML中用到中文的时候会报错,原因就是没有写这个申明。
后记: 这里说的是一种思路。如果触类旁通,自然能够派上用场。
|