我想在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>
答案 0 :(得分:2)
你能做什么,是这个......
<xsl:text disable-output-escaping="yes"><!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd"></xsl:text>
或许这......
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE mlc_lts SYSTEM "mlc_lts.dtd">]]></xsl:text>
但是,您也可以使用doctype-system
此处的xsl:output
属性
<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中的根元素。
答案 1 :(得分:-1)
声明一个变量并将其值传递给节点。
<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>