XSLT による XML の変換
概要
コンテンツとプレゼンテーションの分離は、XML の重要な設計の特徴です。 XML 文書の構造は、このデータが最終的にどのように表現されるべきかを示す必要性に妨げられることなく、コンテンツ自体の個々の側面間の重要な関係を反映し、明確にするように設計されています。このインテリジェントな構造化は、より多くのデータ移行を自動化し、ネットワークでリンクされた異機種間で配置する際に具体的な意味を持ちます。
しかし、 XML 文書内に格納されるコンテンツの多くは、最終的には人間の読者に表示する必要があります。ブラウザーは、親しみやすく柔軟性の高いインターフェイスを提供しているため、 XML コンテンツの表示版を提供するための理想的なメカニズムです。さまざまな XML 技術を利用して一から構築された Firefox は、元の XML 文書と、それらを HTML 表示用にスタイル設定およびレイアウトするために使用される特殊なスタイルシートの両方を処理するために必要なすべてのメカニズムをそれ自体に組み込んでおり、クライアントサイドの処理でサーバーの負荷を軽減します。
現時点で、 Gecko (Firefox のレイアウトエンジン)は 2 種類の XML 用のスタイルシートに対応しています。基本的な表示方法の制御 — フォント、色、位置、など — については、 Gecko は CSS を使用します。
ここでは、Gecko が対応している 2 つ目の種類のスタイルシート、XSLT スタイルシートに注目します。XSLT は eXtensible Stylesheet Language/Transform の略で、この名前は最適です。 XSLT は、スタイルシート作成者が主要な XML 文書を 2 つの重要な方法で変換することができます。コンテンツの操作と並べ替え(必要であれば、コンテンツの並べ替えも含みます)、およびコンテンツの異なる形式への変換(Firefox の場合は、ブラウザーで表示できる HTML への変換)です。
XSLT/XPath リファレンス
要素
- xsl:apply-imports (対応済み)
- xsl:apply-templates (対応済み)
- xsl:attribute (対応済み)
- xsl:attribute-set (対応済み)
- xsl:call-template (対応済み)
- xsl:choose (対応済み)
- xsl:comment (対応済み)
- xsl:copy (対応済み)
- xsl:copy-of (対応済み)
- xsl:decimal-format (対応済み)
- xsl:element (対応済み)
- xsl:fallback (未対応)
- xsl:for-each (対応済み)
- xsl:if (対応済み)
- xsl:import (ほぼ対応済み)
- xsl:include (対応済み)
- xsl:key (対応済み)
- xsl:message (対応済み)
- xsl:namespace-alias (未対応)
- xsl:number (一部対応済み)
- xsl:otherwise (対応済み)
- xsl:output (一部対応済み)
- xsl:param (対応済み)
- xsl:preserve-space (対応済み)
- xsl:processing-instruction
- xsl:sort (対応済み)
- xsl:strip-space (対応済み)
- xsl:stylesheet (一部対応済み)
- xsl:template (対応済み)
- xsl:text (一部対応済み)
- xsl:transform (対応済み)
- xsl:value-of (一部対応済み)
- xsl:variable (対応済み)
- xsl:when (対応済み)
- xsl:with-param (対応済み)
軸
関数
- boolean() (対応済み)
- ceiling() (対応済み)
- concat() (対応済み)
- contains() (対応済み)
- count() (対応済み)
- current() (対応済み)
- document() (対応済み)
- element-available() (対応済み)
- false() (対応済み)
- floor() (対応済み)
- format-number() (対応済み)
- function-available() (対応済み)
- generate-id() (対応済み)
- id() (partially 対応済み)
- key() (対応済み)
- lang() (対応済み)
- last() (対応済み)
- local-name() (対応済み)
- name() (対応済み)
- namespace-uri() (対応済み)
- normalize-space() (対応済み)
- not() (対応済み)
- number() (対応済み)
- position() (対応済み)
- round() (対応済み)
- starts-with() (対応済み)
- string() (対応済み)
- string-length() (対応済み)
- substring() (対応済み)
- substring-after() (対応済み)
- substring-before() (対応済み)
- sum() (対応済み)
- system-property() (対応済み)
- translate() (対応済み)
- true() (対応済み)
- unparsed-entity-url() (not 対応済み)
参考文献
原典情報
- Copyright Information: Copyright © 2001-2003 Netscape. All rights reserved.
- 注: この転載記事はもともと DevEdge サイトの一部でした。