私は次のXMLファイルをXSLTに埋め込みました。それはむしろ、変換を適用すると、HTMLの結果を表示するよりも、ドキュメントツリーとして開き、ChromeとIEの両方でXML:組み込みXSLTで動作しません
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select = "breakfast_menu/food">
<p>Food: <xsl:value-of select = "name"/></p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
:
<?xml version="1.0" encoding="UTF-8"?>
<doc>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" id = "style1">
<xsl:import href = "S1000D_compare.xsl"/>
<xsl:output method="html"/>
</xsl:stylesheet>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>Two of our famous Belgian Waffles with plenty of real maple syrup</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>Light Belgian waffles covered with strawberries and whipped cream</description>
<calories>900</calories>
</food>
<food>
<name>Berry-Berry Belgian Waffles</name>
<price>$8.95</price>
<description>Belgian waffles covered with assorted fresh berries and whipped cream</description>
<calories>900</calories>
</food>
<food>
<name>French Toast</name>
<price>$4.50</price>
<description>Thick slices made from our homemade sourdough bread</description>
<calories>600</calories>
</food>
<food>
<name>Homestyle Breakfast</name>
<price>$6.95</price>
<description>Two eggs, bacon or sausage, toast, and our ever-popular hash browns</description>
<calories>950</calories>
</food>
</breakfast_menu>
</doc>
インポートスタイルシートには、以下の内容があります。
this questionに基づいて "doc"ルート要素を追加しました。私はan online validatorを通してこの文書をエラーなしで実行しました。
'xsl:import'と' xsl:output'要素は、配置した場所で意味をなさない - 'xsl:stylesheet'要素の子として属します。私はそれが実際にあなたの問題を解決するかどうかは不明ですが、それは正しい方向への一歩になります。 –
また、現在のところでは、 'xsl:import'と' xsl:output'要素は 'xsl'名前空間接頭辞のスコープ内宣言を持たないことに注意してください。彼らはあなたがおそらくそれらが意味すると思われるものを意味するものではありません。 –
ありがとう!コピーペーストエラーです。 (私は自分の質問を書いて始め、同様の質問に基づいていくつかのことを試してから間違った場所に更新を貼り付けました。)彼らは私のXML文書の正しい場所にあります。 –