2016-09-09 1 views
-1

Ich brauche eine Lösung für dieses Problem können Sie bitte dabei helfen.XSLT und XML-Kombinationen Programm

<?xml version='1.0' encoding='UTF-8'?> 
 
<root> 
 
    <row> 
 
     <Currency>AED</Currency> 
 
    </row> 
 
    <row> 
 
     <Currency>ARS</Currency> 
 
    </row> 
 
    <row> 
 
     <Currency>AUD</Currency> 
 
    </row> 
 
</root>

Erwartete Ausgabe

<root> 
    <row> 
     <From_Currency>AED</From_Currency> 
     <To_Currency>AED</To_Currency> 
    </row> 
    <row> 
     <From_Currency>AED</From_Currency> 
     <To_Currency>ARS</To_Currency> 
    </row> 
    <row> 
     <From_Currency>AED</From_Currency> 
     <To_Currency>AUD</To_Currency> 
    </row> 
    <row> 
     <From_Currency>ARS</From_Currency> 
     <To_Currency>AED</To_Currency> 
    </row> 
    <row> 
     <From_Currency>ARS</From_Currency> 
     <To_Currency>ARS</To_Currency> 
    </row> 
    <row> 
     <From_Currency>ARS</From_Currency> 
     <To_Currency>AUD</To_Currency> 
    </row> 
    <row> 
     <From_Currency>AUD</From_Currency> 
     <To_Currency>AED</To_Currency> 
    </row> 
    <row> 
     <From_Currency>AUD</From_Currency> 
     <To_Currency>ARS</To_Currency> 
    </row> 
    <row> 
     <From_Currency>AUD</From_Currency> 
     <To_Currency>AUD</To_Currency> 
    </row> 

</root> 
+0

ich so sagen müssen aus - – Surreddy

+0

muss ich XML-Output-like (EX: 123 -> 11,12,13,21,22 , 23,31,32,33) mit XSLT – Surreddy

+0

Sie müssen weitere Informationen liefern. Sie sagen, Sie brauchen eine Lösung für "dieses Problem", aber Sie haben nicht angegeben, was "dieses Problem" ist. – reformed

Antwort

1

Anscheinend wollen Sie alle möglichen permutations (with repetition) der gegebenen Menge aufzuzählen. Dies kann wie folgt erreicht werden:

XSLT 1,0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 

<xsl:template match="/root"> 
    <xsl:copy> 
     <xsl:for-each select="row"> 
      <xsl:variable name="from" select="Currency"/> 
      <xsl:for-each select="../row"> 
       <row> 
        <From_Currency> 
         <xsl:value-of select="$from" /> 
        </From_Currency> 
        <To_Currency> 
         <xsl:value-of select="Currency" /> 
        </To_Currency> 
       </row> 
      </xsl:for-each> 
     </xsl:for-each> 
    </xsl:copy> 
</xsl:template> 

</xsl:stylesheet>