如何通过xslt中的配置动态匹配节点?

时间:2018-07-29 00:36:26

标签: xml xslt-1.0

我正在尝试根据动态配置xml匹配两个xml文件。

Xml A

<item>
  <title>Title</title>
  <value>5</value>
  <pc>test</pc>
</item>
<item>
  <title>Title</title>
  <value>9</value>
  <pc>test 2</pc>
</item>

Xml B

<item>
  <title>Title</title>
  <value>5</value>
  <pc>123</pc>
</item>

配置

<item>
  <title />
  <value />
</item>

配置xml指出,我需要按子项<title><value>来匹配项节点。

将Xml A匹配到XML B,匹配的节点是:

<item>
  <title>Title</title>
  <value>5</value>
  <pc>test</pc>
</item>

不匹配的节点是

<item>
  <title>Title</title>
  <value>9</value>
  <pc>test 2</pc>
</item>

在没有动态选择语句的XSLT 1.0中是否可能?

1 个答案:

答案 0 :(得分:0)

不确定为什么会遇到类似这样的问题而将自己局限于XSLT 1.0。

但是请考虑使用XSLT生成进行匹配的XSLT样式表。

我不完全理解您的小查询语言的语义,但是以B作为主要输入,而Config作为次要输入,您可以相当容易地生成表达式/模式item[title='Title'][value='5'],可以将其生成为样式表然后与A对抗。