ノード名に基づいて子要素を持つすべてのノードにID属性を追加したいが、既に参照がある場合はインクリメントする。属性を追加することはできますが、以前の発生に基づいて属性を増やす方法は不明です。この中の任意のヘルプは大幅にxslのノード名(インクリメンタル)に基づいて属性を追加する
初期XML
<xml>
<individual>
<name>
<firstname>Me</firstname>
<lastname>Last</lastname>
</name>
<addresses>
<address>
<street>1234 Main</street>
<city>Anytown</city>
<state>TX</state>
</address>
<address>
<street>4321 Central Ave</street>
<city>Bixby</city>
<state>ND</state>
</address>
</addresses>
<employeers>
<employeer>
<name>
<firstname>Employer1</firstname>
<lastname>EmployerLast</lastname>
</name>
<addresses>
<address>
<street>1234 Employer1</street>
<city>Smallville</city>
<state>CT</state>
</address>
</addresses>
</employeer>
<employeer>
<name>
<firstname>Employer2</firstname>
<lastname>EmployerLast2</lastname>
</name>
<addresses>
<address>
<street>1234 Employer2</street>
<city>Nashville</city>
<state>TN</state>
</address>
</addresses>
</employeer>
</employeers>
</individual>
</xml>
望ましい結果
<xml>
<individual ID="indivdual_1">
<name ID="name_1">
<firstname>Me</firstname>
<lastname>Last</lastname>
</name>
<addresses ID="addresses_1">
<address ID="address_1">
<street>1234 Main</street>
<city>Anytown</city>
<state>TX</state>
</address>
<address ID="address_2">
<street>4321 Central Ave</street>
<city>Bixby</city>
<state>ND</state>
</address>
</addresses>
<employeers ID="employeers_1">
<employeer ID="employeer_1">
<name ID="name_2">
<firstname>Employer1</firstname>
<lastname>EmployerLast</lastname>
</name>
<addresses ID="addresses_2">
<address ID="address_3">
<street>1234 Employer1</street>
<city>Smallville</city>
<state>CT</state>
</address>
</addresses>
</employeer>
<employeer ID="employeer_2">
<name ID="name_3">
<firstname>Employer2</firstname>
<lastname>EmployerLast2</lastname>
</name>
<addresses ID="addresses_3">
<address ID="address_4">
<street>1234 Employer2</street>
<city>Nashville</city>
<state>TN</state>
</address>
</addresses>
</employeer>
</employeers>
</individual>
</xml>
をいただければ幸い私は、特定の要素の発生をカウントするために、次のコードを見つけましたが、どのように適用するかわかりませんよ特定のノードに数えます。
を掲載している入力を変換。 +1 – kjhughes
うわー...これはシンプルだが効果的だ...私はこれを理解しようとしている私の髪を引っ張っただろう...ありがとう – mike
xsl:numberを使って親ノードの数を得ることは可能ですか?ノード、属性をループするとき?私は自分の考えに基づいてコードを更新しましたが、希望どおりに動作するようには見えません。 http://xsltfiddle.liberty-development.net/bFukv89/1。 – mike