我正在寻找一种方法来提取节点并将其复制到输出中的不同位置。我希望使用 xsl:analyze-string 执行此操作,但由于 xsl:analyze-string 的选择表达式不起作用,如果选择是节点集合(例如,文本节点,后跟一个元素,后跟一个文本节点。)它仅在我将输入修改为只有一个文本节点时才起作用。但我的输入是下面的 entry[2],而不仅仅是文本。即使我选择了entry[2]/p,文本中也有XML标签,它们是除了文本之外的元素节点。所以这里是输入 XML:
<rows>
<row>
<entry>
<p>ID <varname>IdValue</varname></p>
<p>Date <varname>date</varname></p>
<p>sObject <varname>myObj</varname></p>
</entry>
<entry>
<p>The <varname>IdValue</varname> argument provides humor.</p>
<p>The <varname>date</varname> argument specifies how young this language is.</p>
<p>The <varname>myObj</varname> argument specifies the darkness of times.</p>
</entry>
</row>
</rows>
这是所需的输出 XML:
<section>
<parameters>
<param>
<pn><varname>IdValue</varname></pn>
<pv>The <varname>IdValue</varname> argument provides humor.</pv>
</param>
<param>
<pn><varname>date</varname></pn>
<pv>The <varname>date</varname> argument specifies how young this language is.</pv>
</param>
<param>
<pn><varname>myObj</varname></pn>
<pv>The <varname>myObj</varname> argument specifies the darkness of times.</pv>
</param>
</parameters>
</section>
对于在 entry[1] 中找到的每个 varname,如何在 entry[2] 中找到匹配的描述?