2016-04-14 18 views
0

私の入力XMLは、フォーマットシーケンス番号の生成は

<root> 
    <entity> 
     <entityrecord> 
      <field> 
       <id>Parent</id> 
       <value>P-1</value> 
      </field> 
      <entity> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-1</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-2</value> 
        </field> 
       </entityrecord> 
      </entity> 
     </entityrecord> 
     <entityrecord> 
      <field> 
       <id>Parent</id> 
       <value>P-2</value> 
      </field> 
      <entity> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-1</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-2</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-3</value> 
        </field> 
       </entityrecord> 
      </entity> 
     </entityrecord> 
     <entityrecord> 
      <field> 
       <id>Parent</id> 
       <value>P-3</value> 
      </field> 
      <entity> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-1</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-2</value> 
        </field> 
       </entityrecord> 
       <entityrecord> 
        <field> 
         <id>Child</id> 
         <value>C-3</value> 
        </field> 
       </entityrecord> 
      </entity> 
     </entityrecord> 
    </entity> 
</root> 

の下であり、私の出力フォーマットは、私はこれを成し遂げるために、多くの異なる方法を試みたが、何も働いていない

1^P-1 
2^C-1 
3^C-2 
4^P-2 
5^C-1 
6^C-2 
7^C-3 
8^P-3 
9^C-1 
10^C-2 
11^C-3 

でなければなりません。私はシーケンス番号を生成することができませんでした。誰もこの場合私を助けることができます

+0

また、あなたのコードを投稿することができますか? – Micho

+0

論理を言葉で説明してください。なぜ数字6が繰り返されますか? - P.S.両方を選択するのではなく、XSLT 1.0または2.0を選択します。 –

+0

{1^P-1 2^C-1 3^C-2 4^P-2 5^C-1 6^C-2 7^C-3 8^P-3 9^C-1 10^C-2 11^C-3} –

答えて

1

提供された出力の繰り返し6が間違いであると仮定すると、

XSLTあなたの例の入力に印加さ1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="text" encoding="UTF-8"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="field"> 
    <xsl:number count="field" level="any"/> 
    <xsl:text>^</xsl:text> 
    <xsl:value-of select="value"/> 
    <xsl:text>&#10;</xsl:text> 
</xsl:template> 

</xsl:stylesheet> 

、結果は以下のようになります。

1^P-1 
2^C-1 
3^C-2 
4^P-2 
5^C-1 
6^C-2 
7^C-3 
8^P-3 
9^C-1 
10^C-2 
11^C-3 
関連する問題