0

XSLT を使用して XML ドキュメントを解析するにはどうすればよいですか? 私が間違っているかもしれません.XSLTを使用してXML文書を解析することは可能ですか?

XML ドキュメントは次のとおりです。

<?xml version="1.0" encoding="utf-8" ?>
<cart>
  <item id="1">
    <name>Tyres</name>
    <cost>20</cost>
  </item>
  <item id="2">
    <name>Front Glass</name>
    <cost>30</cost>
  </item>
  <item id="3">
    <name>Vanity Mirror</name>
    <cost>10</cost>
  </item>
  <item id="4">
    <name>Brake Pads</name>
    <cost>50</cost>
  </item>
  <item id="5">
    <name>Brake Oil</name>
    <cost>40</cost>
  </item>
</cart>

および XSLT ページ:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="shopping_cart">
      <root>
        <xsl:apply-templates select="cart"/>
      </root>        
    </xsl:template>
  <xsl:template match="cart">
    <cart>
      <xsl:attribute name="name">
        <xsl:value-of select="name"/>
      </xsl:attribute>
      <xsl:attribute name="cost">
        <xsl:value-of select="cost"/>
      </xsl:attribute>

    </cart>
  </xsl:template>
</xsl:stylesheet>

それを行う方法はありますか?パースの概念がよくわからないので教えてください。

4

1 に答える 1

0

スタイルシートで使用される XML ドキュメントが 1 つだけの場合、通常のメカニズムでは、それを「主要な入力ドキュメント」にします。プロセッサへの API に応じて、通常はソース ドキュメントを解析済みまたは未解析のいずれかの形式で提供できます。解析されていない形式 (InputStream など) で指定すると、自動的に解析され、ノードのツリーとしてスタイルシートに表示されます。

スタイルシートが複数のドキュメントを使用する場合、document() 関数を使用して二次入力ドキュメントにアクセス (および解析) できます。

于 2012-06-12T07:26:26.543 に答える