ホームページ >バックエンド開発 >XML/RSS チュートリアル >XSLT 経由で XML を変換する方法のサンプルコード
1 はじめに
XSLTはXMLの文書構造を変換するための言語です。EXtensible StyleLanguage Extensions Transformationsの略称です。
XSLT は HTML の CSS に似ていますが、CSS よりも強力です。
W3C 仕様によれば、XSLT は最初、XML ドキュメントを他のドキュメントに変換できるように設計されました。
しかし、応用の深化に伴い、XSLT は XML を HTML または他の文書形式に変換するために使用されるだけでなく、XML 文書の構造を変換するために使用される言語になりました。
XSLT の要素と attributes は、XML データを処理するための宣言を提供します。XSLT ボキャブラリーを使用して、他のドキュメントのコンテンツを抽出したり、新しい要素や属性を作成したり、多くの場合、2 つのメソッドを有機的に組み合わせたりすることができます。
XSLT 1.0 変換では、結果ドキュメントを生成するために 2 つの操作ファイル (XML ソース ドキュメントと XSLT スタイルシート ファイル) が必要です。
新しい XSLT 2.0 標準では、2 つを 1 つに結合することが許可されています。
XSLT は、各要素とその属性を HTML または XHTML と照合することができるため、ドキュメント コンテンツの正しい表示と出力を実現できます。
XSLT スタイルシートは、XML ルール形式に従った正しく有効な XML ドキュメントであり、その拡張子は .xsl です。
XML ドキュメントで XSLT スタイル シートを使用するための構文は次のとおりです:
<?xml-stylesheet type="text/xsl" href="XSL样式表路径"?>
2 XSLT を介して XML アプリケーションを変換する
この例では、XSLT 拡張可能スタイルを適用して、XML ファイルを出力する前に他の形式のファイルに変換します。
この例では XSLT を通じて XML を変換し、出力は XSLT スタイル変換後の XML ファイル内のデータです。
まずXML宣言を行い、文書をXML文書として指定します。
XSLT スタイルシート自体は XML ドキュメントであるため、XML ドキュメントの規則にも準拠していることに注意してください。
次に、XSLT スタイルシートを宣言し、XSLT 名前空間のプレフィックス (xsl:stylesheet) を宣言します。
XSLT 名前空間のプレフィックスには、xsl:stylesheet と xsl:transform の 2 つの書き方があります。
意味と機能は全く同じですが、前者の方がよく使われます。 xmlns:xsl 属性を通じて XSLT 名前空間を指定します。
次に、xsl:template 要素を使用してカプセル化されたテンプレートのルールを定義します。 Math 属性は、ルールが一致する入力を説明するパターンを指定します。
ついにXML文書の変換を実現します。
3 つのコード
1. cdcatalog.xsl ファイルを作成するコードは次のとおりです:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <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>
2. cdcatalog.xml を作成するコードは次のとおりです:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <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>Hide your heart</title> <artist>Bonnie Tyler</artist> <country>UK</country> <company>CBS Records</company> <price>9.90</price> <year>1988</year> </cd> </catalog>
4. 実行結果
以上がXSLT 経由で XML を変換する方法のサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。