2016-03-22 13 views
0

kullanarak bunları manipüle diğer. hey1 veya hey2'un birinci veya ikinci olarak gelmesi garanti edilmez; Aynı durum hello1 ve hello2 için geçerlidir.birden fazla kopyasını Denetleme ve ben bir durumda her iki olaylardan dört değerlerini kontrol etmek gereken bir şartı var ve <code>hey1</code> ve <code>hello1</code> bir oluşum ve <code>hey2</code> ve <code>hello2</code> gelmeyecek o verilmediği XSLT

<output>ININ</output> çıkışını veren aşağıdaki kodu kullanıyorum, ancak buna <output>IN</output> olarak ihtiyacım var.

Bu POC çalışıyorum ve örnek aşağıda XML vardır:

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

Lütfen bana dört koşulları ve olduğunuz her <a> için kullanılan bir if/when koşul iki kez veya birden çok kez meydana gelecek kontrol eden bir çözüm sağlamak .

 <?xml version="1.0" encoding="UTF-8"?> 
     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
     <xsl:output encoding="UTF-8" version="1.0" method="xml" indent="yes"/> 
     <xsl:template match="/"> 
     <xsl:variable name="a" select="https://stackoverflow.com/q/a"/> 
      <output> 
       <xsl:for-each select="$a"> 
        <xsl:if test="$a/b='hey1' and $a/c= 'hello1' and $a/b='hey2' and $a/c= 'hello2'"> 
         <xsl:value-of select="'IN'"/> 
        </xsl:if> 
       </xsl:for-each> 
      </output> 
     </xsl:template> 
    </xsl:stylesheet>   

İnşallah ki bu soruma cevap verecek kadar açıkım. Herhangi bir tavsiye için teşekkür ederiz.

+0

"* Dört değerin tümünü kontrol etmem gerekiyor *" Her bir "öğesinin yalnızca iki tanesi vardır. –

+0

Ancak her bir "a" için tek tek test ediyorsunuz. Her zaman tam olarak bir 'b' ve bir 'c' olan 'a' tam olarak iki olayı olacak mı? –

cevap