私はバインディング用のようなxmlファイルを持っています:
<?xml version="1.0" encoding="utf-16"?>
<MyCustomer>
<Customers>
<CutomerCode>C001</CutomerCode>
<CustomerName>Shahbaz</CustomerName>
<City>Karachi</City>
<Country>Pakistan</Country>
</Customers>
<Customers>
<CutomerCode>C002</CutomerCode>
<CustomerName>Imran</CustomerName>
<City>Lahore</City>
<Country>Pakistan</Country>
</Customers>
</MyCustomer>
XSLT を適用しています。
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<xsl:template match="MyCustomer">
<xsl:copy>
<Customers>
<xsl:apply-templates select="Customers/*"/>
</Customers>
</xsl:copy>
</xsl:template>
<xsl:template match="Customers/*">
<xsl:copy>
<xsl:value-of select="."/>
</xsl:copy>
</xsl:template>
<xsl:template match="Customers/City">
<xsl:element name="Address">
<xsl:element name="City">
<xsl:value-of select="." />
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="Customers/Country">
<xsl:element name="Address">
<xsl:element name="Country">
<xsl:value-of select="." />
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
そして、このXSLTは私に結果を与えています:
<?xml version="1.0" encoding="utf-16"?>
<MyCustomer>
<Customers>
<CutomerCode>C001</CutomerCode>
<CustomerName>Shahbaz</CustomerName>
<Address>
<City>Karachi</City>
</Address>
<Address>
<Couontry>Pakistan</Couontry>
</Address>
<CutomerCode>C002</CutomerCode>
<CustomerName>Imran</CustomerName>
<Address>
<City>Lahore</City>
</Address>
<Address>
<Country>Pakistan</Country>
</Address>
</Customers>
</MyCustomer>
私はこのような変換が必要でしたが:
<?xml version="1.0" encoding="utf-16"?>
<MyCustomer>
<Customers>
<CutomerCode>C001</CutomerCode>
<CustomerName>Shahbaz</CustomerName>
<Address>
<City>Karachi</City>
<Country>Pakistan</Country>
</Address>
<CutomerCode>C002</CutomerCode>
<CustomerName>Imran</CustomerName>
<Address>
<City>Lahore</City>
<Couontry>Pakistan</Couontry>
</Address>
</Customers>
</MyCustomer>
正しく変換したいのですが、助けてください。正しい xslt メソッドが欲しいのです。助けてください。