检查多个实例并使用XSLT处理它们

检查多个实例并使用XSLT处理它们,xslt,xslt-1.0,Xslt,Xslt 1.0,我有一个要求,即我需要在一种情况下检查两次出现的所有四个值,并且没有规定hey1和hello1将出现在一次出现中,而hey2和hello2将出现在另一次出现中。 我的意思是不能保证hey1或hey2作为第一个或第二个;这同样适用于hello1和hello2 我正在使用下面的代码,它将在中为我提供输出,但我需要它作为中的 我正在尝试此POC,下面是一个示例XML: <q> <a> <b>hey1</b>

我有一个要求,即我需要在一种情况下检查两次出现的所有四个值,并且没有规定
hey1
hello1
将出现在一次出现中,而
hey2
hello2
将出现在另一次出现中。 我的意思是不能保证
hey1
hey2
作为第一个或第二个;这同样适用于
hello1
hello2

我正在使用下面的代码,它将在中为我提供输出,但我需要它作为中的

我正在尝试此POC,下面是一个示例XML:

<q>
        <a>
          <b>hey1</b>
          <c>hello1</c>
        </a>
        <a>
          <b>hey2</b>
          <c>hello2</c>
        </a>
</q>
我希望我的问题足够清楚,可以回答它。 谢谢您的建议。

试试:

<xsl:template match="q">
    <xsl:if test="a[b='hey1' and c='hello1'] and a[b='hey2' and c='hello2'] ">
        <xsl:text>IN</xsl:text>
    </xsl:if>
</xsl:template>
以及:


hey2
你好
hey1
你好
但不是为了:

<q>
   <a>
      <b>hey1</b>
      <c>hello2</c>
   </a>
   <a>
      <b>hey2</b>
      <c>hello1</c>
   </a>
</q>

hey1
你好
hey2
你好

“我需要检查所有四个值”每个
a
只有两个值。是的,两次出现都有两个值,因此是四个值。但是您要分别测试每个
a
。“a”是否总是正好出现两次,每次都有一个
b
和一个
c
?是的,每次都会出现两次,每次都有一个b和一个c。我已将您的问题回滚到以前的形式。请分别发布您的新问题,因为它与此问题完全不同。谢谢,那么我们必须做些什么才能让第三个xml正常工作?您能为每个问题提供一个解决方案吗???@AK.DataPower for each what?我们能用吗?我已经用实际代码和输入xml更新了问题,我能在这方面得到帮助吗
<q>
   <a>
      <b>hey1</b>
      <c>hello1</c>
   </a>
   <a>
      <b>hey2</b>
      <c>hello2</c>
   </a>
</q>
<q>
   <a>
      <b>hey2</b>
      <c>hello2</c>
   </a>
   <a>
      <b>hey1</b>
      <c>hello1</c>
   </a>
</q>
<q>
   <a>
      <b>hey1</b>
      <c>hello2</c>
   </a>
   <a>
      <b>hey2</b>
      <c>hello1</c>
   </a>
</q>