0
XSLTファイルを作成しようとしていますが、どちらのファイルにも名前空間を含めずに動作させることができますが、どちらかにインクルードするとすぐに動作しなくなります。ここでは の例を使用しています。XSLT変換では名前空間を含める方法が正しくありませんか?
マイXMLファイル
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Empire sdf</title>
<artist>Bob sdf</artist>
<country>2</country>
<company>asdfs</company>
<price>12.90</price>
<year>1935</year>
</cd>
</catalog>
ファイルを変換するマイ。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<html><body><table border="1">
<tr bgcolor="#9acd32"><th>Title</th><th>Artist</th></tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table></body></html>
</xsl:template>
</xsl:stylesheet>
私の結果
<?xml version="1.0" encoding="UTF-8"?>
<html>
<body>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td>Empire Burlesque</td>
<td>Bob Dylan</td>
</tr>
<tr>
<td>Empire sdf</td>
<td>Bob sdf</td>
</tr>
</table>
</body>
</html>
ありません、私はこれまで以上に変更した場合。 私の新しいXMLファイル
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog
xmlns="http://www.someurl.com/v3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.someurl.com/v3.0 ../someschema.xsl"
>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Empire sdf</title>
<artist>Bob sdf</artist>
<country>2</country>
<company>asdfs</company>
<price>12.90</price>
<year>1935</year>
</cd>
</catalog>
私の新しいトランスフォームファイル。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.someurl.com/v3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.someurl.com/v3.0 ../someschema.xsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<html><body><table border="1">
<tr bgcolor="#9acd32"><th>Title</th><th>Artist</th></tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table></body></html>
</xsl:template>
</xsl:stylesheet>
変換されたファイルにデータが出力されません。 この質問が基本的で、私はXSLTに関する経験がなく、現在私の頭の中でそれを包み込みたいと考えています。
これを私のxsltファイルに追加しましたが、実行時に予期しない属性が表示されるようになりましたか?それを私のXMLファイルに追加しても何の違いはありませんか? – Purplemonkey
はいそれを修正します:xpath-default-namespaceはxslt 2.0の機能です。ごめんなさい。 –
私は縁に近づいてペニーを感じることができます:)あなたの助けに感謝します。 – Purplemonkey