2016-09-09 4 views
-1

私はこの問題の解決方法が必要です。XSLTとXMLの組み合わせプログラム

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

予想される出力

<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

から – Surreddy

+0

私は(EXのような出力XML必要があります。 - > 11,12,13,21,22 123 、23,31,32,33) XSLTを使用して – Surreddy

+0

詳細情報を提供する必要があります。あなたは "この問題"の解決策が必要だと言いますが、あなたは "この問題"が何であるかを特定していません。 – reformed

答えて

1

どうやらあなたは、与えられたセットのすべての可能なpermutations (with repetition)を列挙します。これは以下のように行うことができます。私はこのように置いて必要

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> 
関連する問題