如何在XSLT中添加带有特殊字符的字符串



我想在xsl中添加以下<!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd">,它包含特殊字符,因此无法解析它。

它试图像这样添加文本

<text><!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd"> </text>

它没有用。吹是我的代码:

<connection_param>
    <mlc_props_file>
        <file_full_path>./fs/public/mxres/mxmlc/mlc_properties.mxres</file_full_path>
    </mlc_props_file>
</connection_param>

你能

做的,是这个....

<xsl:text disable-output-escaping="yes">&lt;!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd"&gt;</xsl:text>

或者也许这个...

<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd">]]></xsl:text>

但是,您也可以在此处xsl:output上使用 doctype-system 属性

 <xsl:output method="xml" doctype-system="mlc_lts.dtd" />

例如,试试这个 XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" doctype-system="mlc_lts.dtd" />
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

但是,如果您将其应用于问题中的 XML,则会生成此内容

<!DOCTYPE connection_param SYSTEM "mlc_lts.dtd">

其中connection_param是 XML 中的根元素。

声明一个变量并将其值传递给节点。

<xsl:variable name = "filepath" select = '"./fs/public/mxres/mxmlc/mlc_properties.mxres"'/> 
<connection_param>
    <mlc_props_file>
        <file_full_path><xsl:value-of select="$filepath"/></file_full_path>
    </mlc_props_file>
</connection_param>

相关内容

  • 没有找到相关文章

最新更新