1
ここで私のサンプルXMLですが、xsltを使用してすべての要素を属性に変換したいと考えています。私は、XSLTに新しいですし、これまでのところ、私は属性に、人の要素を変換するためのソリューションを持っている:すべての要素をatribuitesに変換する
<xsl:template match="person">
<person>
<xsl:for-each select="*">
<xsl:attribute name="{name()}">
<xsl:value-of select="text()"/>
</xsl:attribute>
</xsl:for-each>
</person>
</xsl:template>
しかし、私は、属性にチームの要素を変換するとともに、連結での問題、それを持っています。
例入力:
<squad>
<competitionId>12345asdf</competitionId>
<contestantId>1234avhj</contestantId>
<person>
<name>Abc</firstName>
<lastName>Fgh</lastName>
<middleName></middleName>
<id>dfghfgdhjgfhjk3425dz</id>
</person>
<person>
<firstName>Dcb</firstName>
<lastName>Has</lastName>
<middleName></middleName>
<id>dfghfgdhjgfhjk1234dz</id>
</person>
</squad>
出力例:代わりに特定の要素にマッチするテンプレートを持っていることの
<squad contestantId="1234avhj" competitionId="12345asdf">
<person id="dfghfgdhjgfhjk3425dz" firstName="Abc" middleName="" lastName="Fgh"/>
<person id="dfghfgdhjgfhjk1234dz" firstName="Dcb" middleName="" lastName="Has"/>
</squad>