XSL で、各 PRODUCT/PRODUCT_IMAGES ノードの最初の ITEM ノードから最初の PRODUCT_IMAGE_FILE ノードのみを、メモ帳にある単純なリストに出力するようにします。私はこれを機能させようとしてきましたが、難しいです。
これは私が確認する必要があるものです。終了結果:
hello/this_d_one1.jpg
hello/this_d_one33.jpg
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<products>
<product>
<Person>Jim</Person>
<Product_Images>
<item>
<Product_Image_File>hello/this_d_one1.jpg</Product_Image_File>
</item>
<item>
<Product_Image_File>hello/testNOTHISONE.jpg</Product_Image_File>
</item>
</Product_Images>
</product>
<product>
<Person>Nancy</Person>
<Product_Images>
<item>
<Product_Image_File>hello/this_d_one33.jpg</Product_Image_File>
</item>
<item>
<Product_Image_File>hello/testNOTHISONE3.jpg</Product_Image_File>
</item>
</Product_Images>
</product>
</products>
ここに私のtest.XSLがあります:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="products">
<xsl:call-template name="header" />
<xsl:apply-templates select="product" />
</xsl:template>
<xsl:template name="header">
<xsl:for-each select="//product[1]/product_images/item/child::*" >
<xsl:value-of select="name()" />
<xsl:if test="following-sibling::*">|</xsl:if>
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="product/product_images/item">
<xsl:for-each select="child::*" >
<xsl:value-of select="." />
<xsl:if test="following-sibling::*">|</xsl:if>
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>