私はxmlファイルを持ち、xslt変換を使用して、次のXMLファイルを生成する必要があります。生成されたIDのXML、XSLT変換およびルックアップ
<root>
<Entities>
<Classifications>
<classificatie UniqueID="1">
<Name>standaard1</Name>
</classificatie>
<classificatie UniqueID="2">
<Name>bdi</Name>
</classificatie>
<classificatie UniqueID="3">
<Name>lokaal1</Name>
</classificatie>
</Classifications>
<Categories>
<categorie UniqueID="1" id="D0001" super-id="" volgnummer="">
<Name>Beleid vast-/opstellen en Bestuur</Name>
</categorie>
<categorie UniqueID="2" id="D0002" super-id="" volgnummer="">
<Name>Beleid uitvoeren</Name>
</categorie>
<categorie UniqueID="3" id="D0003" super-id="" volgnummer="">
<Name>Beheer en Handhaving</Name>
</categorie>
</Categories>
</Entities>
<Relations>
<Classification_Category ClassficationID="1" CategoryID="2" />
</Relations>
</root>
エンティティノードを生成することができます。関係ノードを生成するには、UniqueIDを生成する必要があります。 エンティティノード内の要素の生成されたuniqueIDは元のxmlファイルには存在しませんが、XSLファイルを使用して生成されます。使用されるXSLTコード次の固有IDを生成するため ..もCategorieについて
<xsl:template match="classificatie">
<xsl:variable name="vNum1">
<xsl:number level="any" count="classificatie"/>
</xsl:variable>
<classificatie>
<xsl:attribute name="UniqueID">
<xsl:value-of select="$vNum1"/>
</xsl:attribute>
<Name>
<xsl:value-of select="@id"/>
</Name>
</classificatie>
</xsl:template>
は、XLSTテンプレートは、テンプレートをclassificateと同様です。元のXMLファイルでは、分類ノードは分類要素の下にネストされています。
新たに生成されたXMLでは、entieties要素の下で別々の要素にする必要があります。そして、これらの間の関係は、「関係」要素の下に確立される必要があります。
エンティティの下で別個のノードとしてノードを生成することができます。私は新しく生成されたIDを使用して "関係"ノードの下で要素を生成することができません。
要約:ネストされていない要素との親子関係(ネストされた関係)の変換。 -Rajesh
ソースXMLとXSLTファイルがリンクから場所を次 Zip Files
アップデートにzip形式で圧縮されている:入力サンプルを削減
<root>
<classificaties>
<classificatie id="standard">
<categorieen>
<categorie id="D0001" super-id="">Category1</categorie>
<categorie id="D0002" super-id="">Category2</categorie>
<categorie id="D0003" super-id="">Category3</categorie>
<categorie id="D0004" super-id="D0001">Category1.1</categorie>
<categorie id="D0005" super-id="D0001">Category1.2</categorie>
<categorie id="D0007" super-id="D0002">Category2.1</categorie>
<categorie id="D0021" super-id="D0003">Category3.1</categorie>
<categorie id="D0025" super-id="D0002">Category2.2</categorie>
</categorieen>
</classificatie>
<classificatie id="bdi">
<categorieen>
<categorie id="MLF0000002"
super-id="" volgnummer="1">Test 1</categorie>
<categorie id="MLF0000003"
super-id="" volgnummer="2">Test 2</categorie>
<categorie id="MLF0000017"
super-id="MLF0000003" volgnummer="1">Test 17</categorie>
<categorie id="MLF0000020"
super-id="MLF0000002" volgnummer="2">Test 20</categorie>
<categorie id="MLF0000021"
super-id="MLF0000002" volgnummer="3">Test 21</categorie>
<categorie id="MLF0000025"
super-id="MLF0000003" volgnummer="2">Test 25</categorie>
<categorie id="MLF0000027"
super-id="MLF0000003" volgnummer="3">Test 27</categorie>
<categorie id="MLF0000030"
super-id="MLF0000003" volgnummer="4">Test 30</categorie>
<categorie id="MLF0000031"
super-id="MLF0000003" volgnummer="5">Test 31</categorie>
</categorieen>
</classificatie>
</classificaties>
</root>
@user、問題の内容を正確に説明してください。あなたが提供した情報に基づいて助けることはできません。ソースXMLとXSLTスタイルシートを表示します(両方とも完全ですが、可能な限り下げてください)。生成したいXMLは長い行ですが、これはあまり読みにくくありません。 – mzjn
@ user469872:あなたは 'classificatie'要素のユニークな識別子を生成しています(' categorie'については未知ですが)、 'Classification_Category'要素でこれらの生成されたIDを使いたいとします(' classificatie'から 'categorie'要素)。これはすべて管理可能です。しかし、**生成されたID以外の関係は何ですか?** –
それでは、質問は何ですか?私は1つも見ません... –