xsl模板和变量混合使用html

时间:2012-08-09 16:48:42

标签: html xslt

我的问题是当我在我的xsl样式表中混合html元素时,我对我生成的内容感到困惑,因为XML解析只是抱怨:

Error on line 1 column 1 
  SXXP0003: Error reported by XML parser: Premature end of file.

这是我的代码

<xsl:template match="myTemplate">
    <xsl:variable name="fieldtype" select="Radio"/>

            &lt;td width="100px"&gt;&lt;span style="word-wrap: break-word"&gt;          
             <xsl:value-of select="$fieldtype"/>&lt;/span&gt;&lt;/td&gt;
</xsl:template>

这会显示为

<td width="100px"><span style="word-wrap:break word">Radio</span></td>

1 个答案:

答案 0 :(得分:0)

我不确定为什么你需要编码HTML。您向我们展示的HTML没有什么特别之处可以阻止它被解析为有效的XHTML。

如果由于某种原因您必须对HTML进行编码,则使用xsl:attribute分配属性可能更安全。

<xsl:template match="myTemplate">
    <xsl:variable name="fieldtype" select="Radio"/>
    <td>
        <xsl:attribute name="width">
            <xsl:text>100px</xsl:text>
        </xsl:attribute>
        <span>
            <xsl:attribute name="style">
                <xsl:text>word-wrap: break-word</xsl:text>
            </xsl:attribute>
            <xsl:value-of select="$fieldtype"/>
        </span>
    </td>
</xsl:template>