我有一个 XML 文件:
<body>
<trans-unit id="Id a" maxwidth="240" size-unit="char">
<source> original a </source>
<target>my target value </target>
</trans-unit>
<trans-unit id="Id b" maxwidth="240" size-unit="char">
<source>original b</source>
</trans-unit>
</body>
我想对整个文档进行身份转换,但仅限于我有一个带有目标标签的父节点“trans-unit”,以及一个没有目标标签的输出:
输出 1:
<body>
<trans-unit id="Id a" maxwidth="240" size-unit="char">
<source> original a </source>
<target>my target value </target>
</trans-unit>
</body>
输出 2:
<body>
<trans-unit id="Id b" maxwidth="240" size-unit="char">
<source>original b</source>
</trans-unit>
</body>
我已经研究过身份转换,但我无法让它阻止或包含整个父节点。
对于输出 #1 你可以执行以下操作:
对于输出 #2:
您可以在单个样式表中使用两个单独的xsl:result-document指令(或一个主要结果和一个次要结果)将两者结合起来。
解决此类问题的另一种常见方法是使用“过滤器”模式:
仅复制没有的
trans-unit
元素:target
仅复制具有的
trans-unit
元素:target