【发布时间】:2011-03-19 14:59:55
【问题描述】:
只是一个简单的问题。我有一个 XML,我希望只转换其中的一部分而不更改其他任何内容。这是我想要做的一个简单的例子:
输入:
<?xml version="1.0" encoding="UTF-8"?>
<dita xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/ditabase.xsd">
<topic id="abc">
<title>Sample XML</title>
<body>
<section id="a">
<p> Hello section A </p>
</section>
<section id="b">
<p> General Content </p>
</section>
<section id="c">
<p> Hi thank you for coming from $state </p>
</section>
</body>
</topic>
</dita>
输出
<?xml version="1.0" encoding="UTF-8"?>
<dita xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/ditabase.xsd">
<topic id="abc">
<title>Sample XML</title>
<body>
<section id="a">
<p> Hello section A </p>
</section>
<section id="b">
<p> General Content </p>
</section>
<section id="c" audience = "WA">
<p> Hi thank you for coming from WA </p>
</section>
<section id="c" audience = NY">
<p> Hi thank you for coming from NY </p>
</section>
<section id="c" audience = "AL">
<p> Hi thank you for coming from AL </p>
</section>
<section id="c" audience = "GA">
<p> Hi thank you for coming from GA </p>
</section>
...
<!--Continue for the rest of the states-->
...
</body>
</topic>
</dita>
如果有帮助的话,我正在使用 XALAN 处理器。提前非常感谢:D
【问题讨论】:
-
您是要仅在
<section id="c">内替换$state,还是在输入文档中出现它的任何地方替换$state? -
是的,我只希望在
中替换 $state,我希望输入可以来自 XSL 文件而不是 XML。 -
好问题 (+1)。请参阅我的答案以获得完整的解决方案。