XSLT による XML の変換
概要
コンテンツとプレゼンテーションの分離は、XML (en-US) の重要な設計の特徴です。 XML 文書の構造は、コンテンツ自体の個々の側面の間の重要な関係を反映し、明確にするように設計されています。このデータが最終的にどのように提示されるべきかに関する指示を提供する必要はありません。このインテリジェントな構造化は、ますます多くのデータ転送が自動化され、ネットワークでリンクされた非常に異種のマシン間で行われるため、特に重要です。
しかし、最終的には XML 文書に格納されているコンテンツの大部分を人間の読者に提示する必要があります。ブラウザは使い慣れた非常に柔軟なインタフェースを提供するため、このようなプレゼンテーションバージョンの XML コンテンツを配信するための理想的なメカニズムです。さまざまな XML テクノロジを利用してゼロから構築されているため、 Firefox は、元の XML 文書とそれを HTML 表示用にスタイル設定してレイアウトするために使用される特殊なスタイルシートの両方を処理するために必要なすべてのメカニズムを組み込んでおり、クライアントサイド処理によるサーバの負荷を軽減します。
現時点で、 Gecko (Firefox のレイアウトエンジン) は二種類の XML 用のスタイルシートに対応しています。基本的な表示方法の制御 — フォント、色、位置、など — については、 Gecko は CSS を使用します。 CSS1 と CSS2 はよく対応されており、 CSS3 標準への対応は開発中です。 CSS についての更なる情報は、 Eric Meyer's CSS pages を参照してください。
ここで注目するのは、 Gecko が対応する二番目の種類のスタイルシート、 XSLT スタイルシートです。 XSLT は eXtensible Stylesheet Language/Transform のことで、名前の通りです。 XSLT ではスタイルシートで最初の XML 文書を二つの意味のある方法、必要に応じてコンテンツを大規模に並べ替えたり、コンテンツを別の形式に変形したりすることで変換します。 (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 サイトの一部でした。