是否可以使用名为org.dita4publishers.html2的插件从html2转换输出生成的输出中删除命名空间
我已经生成了从dita到html2输出的输出我得到了无花果
我从html2转换
获取输出<div xmlns="http://www.w3.org/1999/xhtml" class="fignone" id="call1">
<div class="figbody">
<img xmlns="" src="images/imag1.png"></img>
</div>
<span class="figcap"><span class="enumeration fig-enumeration">Figure 1. </span>Nursing image</span></div>
但我想像这样排除名称空间
<div class="fignone" id="call1">
<div class="figbody">
<img xmlns="" src="images/imag1.png"></img>
</div>
<span class="figcap"><span class="enumeration fig-enumeration">Figure 1. </span>Nursing image</span></div>
我正在使用模板生成css链接
<xsl:template match="*" mode="chapterHead">
<head><xsl:value-of select="$newline"/>
<!-- initial meta information -->
<link rel="stylesheet" type="text/css" href="css/care.css"/><xsl:value-of select="$newline"/>
</head>
<xsl:value-of select="$newline"/>
</xsl:template>
但是生成输出就像这样
<head>
<link rel="stylesheet" type="text/css" href="care.css"></link>
</head>
忽略了/
之前忽略了文本我希望输出为
<head>
<link rel="stylesheet" type="text/css" href="css/care.css"></link>
</head>
请就这些问题向我提出建议。
注意:我使用了exclude-result-prefixes =&#34;#all&#34;也。但它不起作用。
先谢谢
答案 0 :(得分:0)
您已正确描述了该问题。就XDM数据模型而言,您不希望删除命名空间&#34;从输出中,您希望输出中的每个元素都与其当前所在的命名空间不同。(具体来说,您希望它不在命名空间中)。这会影响创建元素的每条指令。因此,实现此目的的最简单方法可能是通过当前输出的后处理传递,使用模板规则更改命名空间
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>