From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/xslt/common_errors/index.html | 28 ++ files/ja/web/xslt/element/apply-imports/index.html | 37 +++ .../ja/web/xslt/element/apply-templates/index.html | 45 +++ files/ja/web/xslt/element/attribute-set/index.html | 45 +++ files/ja/web/xslt/element/attribute/index.html | 45 +++ files/ja/web/xslt/element/call-template/index.html | 42 +++ files/ja/web/xslt/element/choose/index.html | 41 +++ files/ja/web/xslt/element/comment/index.html | 39 +++ files/ja/web/xslt/element/copy-of/index.html | 40 +++ files/ja/web/xslt/element/copy/index.html | 42 +++ .../ja/web/xslt/element/decimal-format/index.html | 101 +++++++ files/ja/web/xslt/element/element/index.html | 46 +++ files/ja/web/xslt/element/fallback/index.html | 39 +++ files/ja/web/xslt/element/for-each/index.html | 44 +++ files/ja/web/xslt/element/if/index.html | 42 +++ files/ja/web/xslt/element/import/index.html | 40 +++ files/ja/web/xslt/element/include/index.html | 40 +++ files/ja/web/xslt/element/index.html | 69 +++++ files/ja/web/xslt/element/key/index.html | 45 +++ files/ja/web/xslt/element/message/index.html | 42 +++ .../ja/web/xslt/element/namespace-alias/index.html | 42 +++ files/ja/web/xslt/element/number/index.html | 170 +++++++++++ files/ja/web/xslt/element/otherwise/index.html | 39 +++ files/ja/web/xslt/element/output/index.html | 95 ++++++ files/ja/web/xslt/element/param/index.html | 45 +++ .../ja/web/xslt/element/preserve-space/index.html | 40 +++ .../xslt/element/processing-instruction/index.html | 40 +++ files/ja/web/xslt/element/sort/index.html | 60 ++++ files/ja/web/xslt/element/strip-space/index.html | 40 +++ files/ja/web/xslt/element/stylesheet/index.html | 100 +++++++ files/ja/web/xslt/element/template/index.html | 62 ++++ files/ja/web/xslt/element/text/index.html | 42 +++ files/ja/web/xslt/element/transform/index.html | 17 ++ files/ja/web/xslt/element/value-of/index.html | 41 +++ files/ja/web/xslt/element/variable/index.html | 45 +++ files/ja/web/xslt/element/when/index.html | 42 +++ files/ja/web/xslt/element/with-param/index.html | 45 +++ files/ja/web/xslt/index.html | 67 +++++ files/ja/web/xslt/index/index.html | 12 + files/ja/web/xslt/pi_parameters/index.html | 128 ++++++++ .../an_overview/index.html | 49 +++ .../for_further_reading/index.html | 200 +++++++++++++ .../web/xslt/transforming_xml_with_xslt/index.html | 150 ++++++++++ .../resources/index.html | 15 + .../the_netscape_xslt_xpath_reference/index.html | 329 +++++++++++++++++++++ .../index.html | 121 ++++++++ .../advanced_example/index.html | 102 +++++++ .../basic_example/index.html | 128 ++++++++ .../web/xslt/xslt_js_interface_in_gecko/index.html | 16 + .../interface_list/index.html | 11 + .../introduction/index.html | 14 + .../javascript_xslt_bindings/index.html | 59 ++++ .../resources/index.html | 14 + .../setting_parameters/index.html | 30 ++ 54 files changed, 3322 insertions(+) create mode 100644 files/ja/web/xslt/common_errors/index.html create mode 100644 files/ja/web/xslt/element/apply-imports/index.html create mode 100644 files/ja/web/xslt/element/apply-templates/index.html create mode 100644 files/ja/web/xslt/element/attribute-set/index.html create mode 100644 files/ja/web/xslt/element/attribute/index.html create mode 100644 files/ja/web/xslt/element/call-template/index.html create mode 100644 files/ja/web/xslt/element/choose/index.html create mode 100644 files/ja/web/xslt/element/comment/index.html create mode 100644 files/ja/web/xslt/element/copy-of/index.html create mode 100644 files/ja/web/xslt/element/copy/index.html create mode 100644 files/ja/web/xslt/element/decimal-format/index.html create mode 100644 files/ja/web/xslt/element/element/index.html create mode 100644 files/ja/web/xslt/element/fallback/index.html create mode 100644 files/ja/web/xslt/element/for-each/index.html create mode 100644 files/ja/web/xslt/element/if/index.html create mode 100644 files/ja/web/xslt/element/import/index.html create mode 100644 files/ja/web/xslt/element/include/index.html create mode 100644 files/ja/web/xslt/element/index.html create mode 100644 files/ja/web/xslt/element/key/index.html create mode 100644 files/ja/web/xslt/element/message/index.html create mode 100644 files/ja/web/xslt/element/namespace-alias/index.html create mode 100644 files/ja/web/xslt/element/number/index.html create mode 100644 files/ja/web/xslt/element/otherwise/index.html create mode 100644 files/ja/web/xslt/element/output/index.html create mode 100644 files/ja/web/xslt/element/param/index.html create mode 100644 files/ja/web/xslt/element/preserve-space/index.html create mode 100644 files/ja/web/xslt/element/processing-instruction/index.html create mode 100644 files/ja/web/xslt/element/sort/index.html create mode 100644 files/ja/web/xslt/element/strip-space/index.html create mode 100644 files/ja/web/xslt/element/stylesheet/index.html create mode 100644 files/ja/web/xslt/element/template/index.html create mode 100644 files/ja/web/xslt/element/text/index.html create mode 100644 files/ja/web/xslt/element/transform/index.html create mode 100644 files/ja/web/xslt/element/value-of/index.html create mode 100644 files/ja/web/xslt/element/variable/index.html create mode 100644 files/ja/web/xslt/element/when/index.html create mode 100644 files/ja/web/xslt/element/with-param/index.html create mode 100644 files/ja/web/xslt/index.html create mode 100644 files/ja/web/xslt/index/index.html create mode 100644 files/ja/web/xslt/pi_parameters/index.html create mode 100644 files/ja/web/xslt/transforming_xml_with_xslt/an_overview/index.html create mode 100644 files/ja/web/xslt/transforming_xml_with_xslt/for_further_reading/index.html create mode 100644 files/ja/web/xslt/transforming_xml_with_xslt/index.html create mode 100644 files/ja/web/xslt/transforming_xml_with_xslt/resources/index.html create mode 100644 files/ja/web/xslt/transforming_xml_with_xslt/the_netscape_xslt_xpath_reference/index.html create mode 100644 files/ja/web/xslt/using_the_mozilla_javascript_interface_to_xsl_transformations/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/advanced_example/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/basic_example/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/interface_list/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/introduction/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/javascript_xslt_bindings/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/resources/index.html create mode 100644 files/ja/web/xslt/xslt_js_interface_in_gecko/setting_parameters/index.html (limited to 'files/ja/web/xslt') diff --git a/files/ja/web/xslt/common_errors/index.html b/files/ja/web/xslt/common_errors/index.html new file mode 100644 index 0000000000..54e93e5b95 --- /dev/null +++ b/files/ja/web/xslt/common_errors/index.html @@ -0,0 +1,28 @@ +--- +title: 一般的な XSLT エラー +slug: Web/XSLT/Common_errors +tags: + - XSLT +translation_of: Web/XSLT/Common_errors +--- +

MIME タイプ

+ +

サーバーは、XML mimeタイプのtext/xmlまたはapplication/xmlのソースとスタイルシートの両方を送信する必要があります。 現在のタイプを調べるには、Mozillaでファイルを読み込み、ページ情報を見てください。 または、ダウンロードツールを使用してください。これらのツールは通常、MIMEタイプを示します。

+ +

Firefox 6以降では、公式のXSLT mimetypeである application/xslt+xmlを使用することもできます。

+ +

名前空間

+ +

XSLT 1.0 の名前空間はhttp://www.w3.org/1999/XSL/Transformです。IEの古いバージョンでは、異なる名前空間が使用されていました。 しかしこれらのバージョンでは、最終的に XSLT 1.0 仕様となったものと互換性のない XSLT のドラフト版も使用されていました。Firefox は公式の XSLT 1.0 バージョンのみをサポートしています。

+ +

不足している機能

+ +

XSLT 1.0仕様には、Firefoxが残念ながらサポートしていない機能がいくつかあります。具体的には:

+ + + +

上記の機能のいずれかを手助けしたい場合は、大いに助けてください。

diff --git a/files/ja/web/xslt/element/apply-imports/index.html b/files/ja/web/xslt/element/apply-imports/index.html new file mode 100644 index 0000000000..d7bd5a7ef6 --- /dev/null +++ b/files/ja/web/xslt/element/apply-imports/index.html @@ -0,0 +1,37 @@ +--- +title: '' +slug: Web/XSLT/Element/apply-imports +tags: + - XSLT + - apply-imports + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/apply-imports +--- +

{{ XsltRef() }}

+ +

<xsl:apply-imports> 要素は非常に秘密で、複雑なスタイルシートで主に使用されます。インポートの優先順位では、メインスタイルシートのテンプレートルールは、インポートされたスタイルシートのテンプレートルールより優先される必要があります。ただし、メインスタイルシートの同等のルールではなく、(低い優先順位の) インポートされたスタイルシートからテンプレートルールを使用するようにプロセッサを強制することが可能な場合があります。

+ +

構文

+ +
<xsl:apply-imports/>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 5.6.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/apply-templates/index.html b/files/ja/web/xslt/element/apply-templates/index.html new file mode 100644 index 0000000000..67b4859543 --- /dev/null +++ b/files/ja/web/xslt/element/apply-templates/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/apply-templates +tags: + - XSLT + - apply-templates + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/apply-templates +--- +

{{ XsltRef() }}

+ +

<xsl:apply-templates> 要素は、入力ツリー内のノードのセットを選択し、適切なテンプレートを適用するようにプロセッサに指示します。

+ +

構文

+ +
<xsl:apply-templates select=EXPRESSION mode=NAME>
+	<xsl:with-param> [optional]
+	<xsl:sort> [optional]
+</xsl:apply-templates>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
select
+
処理するノードを指定する XPath 式を使用します。アスタリスク (*) はノードセット全体を選択します。この属性が設定されていない場合は、現在のノードのすべての子ノードが選択されます。
+
mode
+
同じノードに対して複数の処理方法が定義されている場合は、それらを区別します。
+
+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT section 5.4.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/attribute-set/index.html b/files/ja/web/xslt/element/attribute-set/index.html new file mode 100644 index 0000000000..873418aed1 --- /dev/null +++ b/files/ja/web/xslt/element/attribute-set/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/attribute-set +tags: + - XSLT + - attribute-set + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/attribute-set +--- +

{{ XsltRef() }}

+ +

<xsl:attribute-set> 要素は名前付き属性のセットを作成します。属性のセットは、CSSの名前付きスタイルに類似した方法で出力ドキュメント全体に適用されます。

+ +

構文

+ +
<xsl:attribute-set name=NAME use-attribute-sets=LIST-OF-NAMES>
+	<xsl:attribute>
+</xsl:attribute-set>
+ +

必須属性

+ +
+
name
+
属性セットの名前を指定します。名前は有効な QName でなければなりません。
+
+ +

任意属性

+ +
+
use-attribute-sets
+
他の属性セットから属性セットを構築します。寄与する集合の名前は、空白文字で区切られなければならず、直接的または間接的に埋め込まれてはいけません。
+
+ +

タイプ

+ +

最上位は <xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 7.1.4.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/attribute/index.html b/files/ja/web/xslt/element/attribute/index.html new file mode 100644 index 0000000000..c31f120153 --- /dev/null +++ b/files/ja/web/xslt/element/attribute/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/attribute +tags: + - XSLT + - リファレンス + - 属性 + - 要素 +translation_of: Web/XSLT/Element/attribute +--- +

{{ XsltRef() }}

+ +

<xsl:attribute> 要素は、スタイルシートからアクセス可能な任意の値を使用して出力文書に属性を作成します。要素は属性値を設定する出力文書要素内の他の出力文書要素の前に定義する必要があります。しかし、( <xsl:choose><xsl:apply-templates> などのように) 出力の一部ではない要素の後または内部にある可能性があります。

+ +

構文

+ +
<xsl:attribute name=NAME namespace=URI>
+	TEMPLATE
+</xsl:attribute>
+ +

必須属性

+ +
+
name
+
出力文書に作成する属性の名前を指定します。名前は有効な QName でなければなりません。
+
+ +

任意属性

+ +
+
namespace
+
この属性の名前空間 URI を出力文書に定義します。関連する名前空間プレフィックスをこの要素で設定することはできません。
+
+ +

タイプ

+ +

命令は、テンプレートまたは <xsl:attribute-set> 要素内に現れます。

+ +

定義

+ +

XSLT, section 7.1.3.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/call-template/index.html b/files/ja/web/xslt/element/call-template/index.html new file mode 100644 index 0000000000..216b491fff --- /dev/null +++ b/files/ja/web/xslt/element/call-template/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/call-template +tags: + - XSLT + - call-template + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/call-template +--- +

{{ XsltRef() }}

+ +

<xsl:call-template> 要素は名前付きテンプレートを呼び出します。

+ +

構文

+ +
<xsl:call-template name=NAME>
+	<xsl:with-param> [optional]
+</xsl:call-template> 
+ +

必須属性

+ +
+
name
+
呼び出すテンプレートの名前を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 6.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/choose/index.html b/files/ja/web/xslt/element/choose/index.html new file mode 100644 index 0000000000..271da40185 --- /dev/null +++ b/files/ja/web/xslt/element/choose/index.html @@ -0,0 +1,41 @@ +--- +title: '' +slug: Web/XSLT/Element/choose +tags: + - XSLT + - choose + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/choose +--- +

{{ XsltRef() }}

+ +

<xsl:choose> 要素はいくつかの選択肢の中から選択肢を定義します。 手続き型言語の switch 文のように振る舞います。

+ +

構文

+ +
<xsl:choose>
+    <xsl:when test="[whatever to test1]"></xsl:when>
+    <xsl:when test="[whatever to test2]"></xsl:when>
+    <xsl:otherwise></xsl:otherwise> [optional]
+</xsl:choose>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +

なし

+ +

タイプ

+ +

インストラクションはテンプレートとともに表示されます。1つまたは複数の <xsl:when> 要素と、オプションで最後の <xsl:otherwise> 要素を含みます。

+ +

定義

+ +

XSLT, section 9.2.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/comment/index.html b/files/ja/web/xslt/element/comment/index.html new file mode 100644 index 0000000000..bbdeebce47 --- /dev/null +++ b/files/ja/web/xslt/element/comment/index.html @@ -0,0 +1,39 @@ +--- +title: '' +slug: Web/XSLT/Element/comment +tags: + - Comment + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/comment +--- +

{{ XsltRef() }}

+ +

<xsl:comment> 要素は出力文書にコメントを書き込みます。テキストのみを含める必要があります。

+ +

構文

+ +
<xsl:comment>
+	TEMPLATE
+</xsl:comment> 
+ +

必須属性

+ +

なし

+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 7.4.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/copy-of/index.html b/files/ja/web/xslt/element/copy-of/index.html new file mode 100644 index 0000000000..b0041034e8 --- /dev/null +++ b/files/ja/web/xslt/element/copy-of/index.html @@ -0,0 +1,40 @@ +--- +title: '' +slug: Web/XSLT/Element/copy-of +tags: + - XSLT + - copy-of + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/copy-of +--- +

{{ XsltRef() }}

+ +

<xsl:copy-of> 要素は、select 属性が出力文書に指定するものすべての深いコピー (子孫ノードを含む) を作成します。

+ +

構文

+ +
<xsl:copy-of select=EXPRESSION /> 
+ +

必須属性

+ +
+
select
+
何をコピーするかを指定する XPath 式を使用します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 11.3.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/copy/index.html b/files/ja/web/xslt/element/copy/index.html new file mode 100644 index 0000000000..2f04c08fc4 --- /dev/null +++ b/files/ja/web/xslt/element/copy/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/copy +tags: + - XSLT + - copy + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/copy +--- +

{{ XsltRef() }}

+ +

<xsl:copy> 要素は、現在のノードの浅いコピー (ノードおよび関連する名前空間ノード) を出力ドキュメントに転送します。現在のノードの子または属性はコピーされません。

+ +

構文

+ +
<xsl:copy use-attribute-sets=LIST-OF-NAMES>
+	TEMPLATE
+</xsl:copy>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
use-attribute-sets
+
要素であれば、出力ノードに適用される属性セットをリストします。 セットの名前は空白文字で区切る必要があります。
+
+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 7.5.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/decimal-format/index.html b/files/ja/web/xslt/element/decimal-format/index.html new file mode 100644 index 0000000000..435a252ab1 --- /dev/null +++ b/files/ja/web/xslt/element/decimal-format/index.html @@ -0,0 +1,101 @@ +--- +title: '' +slug: Web/XSLT/Element/decimal-format +tags: + - XSLT + - decimal-format + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/decimal-format +--- +

{{ XsltRef() }}

+ +

<xsl:decimal-format> 要素は、format-number( ) 関数を使用して数字を文字列に変換する際に使用される文字と記号を定義します。

+ +

構文

+ +
<xsl:decimal-format
+	name=NAME
+	decimal-separator=CHARACTER
+	grouping-separator=CHARACTER
+	infinity=STRING
+	minus-sign=CHARACTER
+	NaN=STRING
+	percent=CHARACTER
+	per-mille=CHARATER
+	zero-digit=CHARACTER
+	digit=CHARACTER
+	pattern-separator=CHARACTER />
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
name
+
この形式の名前を指定します。
+
+ +
+
decimal-separator
+
小数点文字を指定します。デフォルトは (.) です。
+
+ +
+
grouping-separator
+
桁区切り文字を指定します。 デフォルトは (,) です。
+
+ +
+
infinity
+
無限を表すために使用される文字列を指定します。デフォルトは文字列 "Infinity"です。
+
+ +
+
minus-sign
+
マイナス記号文字を指定します。デフォルトはハイフン (-) です。
+
+ +
+
NaN
+
値が数値でない場合に使用される文字列を指定します。デフォルトは文字列 "NaN" です。
+
+ +
+
percent
+
パーセント符号文字を指定します。デフォルトは (%) です。
+
+ +
+
per-mille
+
1000文字ごとに指定します。デフォルトは () です。
+
+ +
+
zero-digit
+
数字のゼロ文字を指定します。 デフォルトは (0) です。
+
+ +
+
digit
+
数字を表すためにフォーマットパターンで使用される文字を指定します。デフォルトは (#) です。
+
+ +
+
pattern-separator
+
正と負のサブパターンをフォーマットパターンで区切る文字を指定します。デフォルトはセミコロン (;) です。
+
+ +

タイプ

+ +

最上位は <xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 12.3.

+ +

Gecko のサポート

+ +

1.0 (Mozilla 1.0、Netscape 7.0) でサポートされています。

diff --git a/files/ja/web/xslt/element/element/index.html b/files/ja/web/xslt/element/element/index.html new file mode 100644 index 0000000000..4963fcf4c4 --- /dev/null +++ b/files/ja/web/xslt/element/element/index.html @@ -0,0 +1,46 @@ +--- +title: '' +slug: Web/XSLT/Element/element +tags: + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/element +--- +

{{ XsltRef() }}

+ +

<xsl:element> 要素は、出力文書に要素を作成します。

+ +

構文

+ +
<xsl:element name=NAME namespace=URI use-attribute-sets=LIST-OF-NAMES >
+	TEMPLATE
+</xsl:element>
+ +

必須属性

+ +
+
name
+
出力要素の希望する名前を指定します。名前は有効な QName でなければなりません。
+
+ +

任意属性

+ +
+
namespace
+
出力要素の名前空間を指定します。
+
use-attribute-sets
+
element 要素の出力要素に適用される attribute-set 要素名のスペース区切りのリスト。適用された属性は、ネストされた属性要素によってオーバーライドできます。
+
+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 7.1.2.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/fallback/index.html b/files/ja/web/xslt/element/fallback/index.html new file mode 100644 index 0000000000..fbe8d8e75e --- /dev/null +++ b/files/ja/web/xslt/element/fallback/index.html @@ -0,0 +1,39 @@ +--- +title: '' +slug: Web/XSLT/Element/fallback +tags: + - XSLT + - fallback + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/fallback +--- +

{{ XsltRef() }}

+ +

<xsl:fallback> 要素は指定された拡張子 (または、最終的には新しいバージョン) 要素がサポートされていない場合に使用するテンプレートを指定します。

+ +

構文

+ +
<xsl:fallback>
+	TEMPLATE
+</xsl:fallback>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 15

+ +

Gecko のサポート

+ +

現時点ではサポートされていません。

diff --git a/files/ja/web/xslt/element/for-each/index.html b/files/ja/web/xslt/element/for-each/index.html new file mode 100644 index 0000000000..f6e41d7879 --- /dev/null +++ b/files/ja/web/xslt/element/for-each/index.html @@ -0,0 +1,44 @@ +--- +title: '' +slug: Web/XSLT/Element/for-each +tags: + - XSLT + - for + - for-each + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/for-each +--- +

{{ XsltRef() }}

+ +

<xsl:for-each> 要素は一連のノードを選択し、それぞれのノードを同じ方法で処理します。これはノードのセットを反復処理したり、現在のノードを変更したりするためによく使用されます。1つ以上の <xsl:sort> 要素がこの要素の子として表示される場合、処理の前にソートが行われます。それ以外の場合、ノードはドキュメント順に処理されます。

+ +

構文

+ +
<xsl:for-each select=EXPRESSION>
+	<xsl:sort> [optional]
+	TEMPLATE
+</xsl:for-each>
+ +

必須属性

+ +
+
select
+
XPath 式を使用して、処理するノードを選択します。
+
+ +

任意属性

+ +

なし

+ +

Type

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 8.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/if/index.html b/files/ja/web/xslt/element/if/index.html new file mode 100644 index 0000000000..552611e40d --- /dev/null +++ b/files/ja/web/xslt/element/if/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/if +tags: + - XSLT + - if + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/if +--- +

{{ XsltRef() }}

+ +

<xsl:if> 要素にはテスト属性とテンプレートが含まれています。テストが真と評価された場合、テンプレートは処理されます。これは、他の言語のif文に似ています。ただし、if-then-elseステートメントの機能を実現するには、<xsl:when><xsl:otherwise> の子要素を1つずつ持つ <xsl:choose> 要素を使用します。

+ +

構文

+ +
<xsl:if test=EXPRESSION>
+	TEMPLATE
+</xsl:if>
+ +

必須属性

+ +
+
test
+
必要に応じて boolean( ) に対して定義されたルールを使用して評価可能な XPath 式を含め、ブール値にします。値が true の場合、テンプレートは処理されます。そうでない場合は何もしません。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSL section 9.1.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/import/index.html b/files/ja/web/xslt/element/import/index.html new file mode 100644 index 0000000000..e339f5daf5 --- /dev/null +++ b/files/ja/web/xslt/element/import/index.html @@ -0,0 +1,40 @@ +--- +title: '' +slug: Web/XSLT/Element/import +tags: + - XSLT + - import + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/import +--- +

{{ XsltRef() }}

+ +

<xsl:import> 要素はあるスタイルシートの内容を別のスタイルシートにインポートするための最上位要素です。一般に、インポートしたスタイルシートの内容は、インポートするスタイルシートの内容よりもインポートの優先度が低くなります。これは <xsl:include> とは対照的です。ここでインクルードされたスタイルシートの内容は、インクルードするスタイルシートの内容とまったく同じです。

+ +

構文

+ +
<xsl:import href=URI  />
+ +

必須属性

+ +
+
href
+
インポートするスタイルシートの URI を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

トップレベルは、インポートスタイルシートの <xsl:stylesheet> または <xsl:transform> の他の子の前に表示する必要があります。

+ +

定義

+ +

XSLT, section 2.6.2.

+ +

Gecko のサポート

+ +

主に Mozilla 1.0 以降のトップレベルの変数とパラメータに関するいくつかの問題でサポートされています。

diff --git a/files/ja/web/xslt/element/include/index.html b/files/ja/web/xslt/element/include/index.html new file mode 100644 index 0000000000..5ce1a3d0f3 --- /dev/null +++ b/files/ja/web/xslt/element/include/index.html @@ -0,0 +1,40 @@ +--- +title: '' +slug: Web/XSLT/Element/include +tags: + - XSLT + - include + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/include +--- +

{{ XsltRef() }}

+ +

<xsl:include> 要素はあるスタイルシートの内容を別のスタイルシートにマージします。<xsl:import> の場合とは異なり、インクルードされたスタイルシートの内容はインクルードするスタイルシートの内容とまったく同じです。

+ +

構文

+ +
<xsl:include href=URI />
+ +

必須属性

+ +
+
href
+
含めるスタイルシートの URI を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

トップレベルは <xsl:stylesheet> または <xsl:transform> の子として任意の順序で表示されます。

+ +

定義

+ +

XSLT, section 2.6.1.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/index.html b/files/ja/web/xslt/element/index.html new file mode 100644 index 0000000000..09b7ba47c0 --- /dev/null +++ b/files/ja/web/xslt/element/index.html @@ -0,0 +1,69 @@ +--- +title: XSLT 要素リファレンス +slug: Web/XSLT/Element +tags: + - Element + - Reference + - XSLT + - 概要 +translation_of: Web/XSLT/Element +--- +
{{XSLTRef}}{{QuickLinksWithSubpages("/ja/docs/Web/XSLT")}}
+ +

ここでは、最上位要素と指示の 2 種類の要素について説明します。最上位の要素は <xsl:stylesheet> または <xsl:transform> の子として表示する必要があります。一方、指示はテンプレートに関連付けられています。スタイルシートにはいくつかのテンプレートが含まれています。ここでは説明しない第 3 のタイプの要素はリテラル結果要素 (LRE) です。 LRE もテンプレートに表示されます。これは、HTML 変換スタイルシートの <hr> 要素など、結果ドキュメントにそのままコピーする必要のある非命令要素から構成されます。

+ +

関連するメモでは、 LRE 内の任意の属性と限られた数の XSLT 要素の一部の属性には、属性値テンプレートとして知られているものも含めることができます。属性値テンプレートは、属性の値を指定するために使用される埋め込み XPath 式を含む文字列です。実行時に式が評価され、XPath 式の代わりに評価結果が使用されます。たとえば、変数 "image-dir" が次のように定義されているとします。

+ +
<xsl:variable name="image-dir">/images</xsl:variable>
+ +

評価される式は、中括弧の中に置かれます。

+ +
<img src="{$image-dir}/mygraphic.jpg"/>
+ +

この結果、次のようになります。

+ +
<img src="/images/mygraphic.jpg"/>
+ +

続く要素の注釈には説明、構文リスト、必須およびオプションの属性のリスト、タイプと位置の説明、W3C 勧告のソース、および現在の Gecko サポートの程度の説明が含まれます。

+ + + + diff --git a/files/ja/web/xslt/element/key/index.html b/files/ja/web/xslt/element/key/index.html new file mode 100644 index 0000000000..17d290737d --- /dev/null +++ b/files/ja/web/xslt/element/key/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/key +tags: + - Key + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/key +--- +

{{ XsltRef() }}

+ +

<xsl:key>要素は、key( )関数を使用してスタイルシートの他の場所で使用できる名前付きキーを宣言します。

+ +

構文

+ +
<xsl:key name=NAME match=EXPRESSION
+	use=EXPRESSION /> 
+ +

必須属性

+ +
+
name
+
このキーの名前を指定します。QName でなければなりません。
+
match
+
このキーが適用可能なノードを定義します。
+
use
+
適用可能な各ノードのキーの値を決定するために使用される XPath 式を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

最上位は <xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 12.2.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/message/index.html b/files/ja/web/xslt/element/message/index.html new file mode 100644 index 0000000000..ad85610118 --- /dev/null +++ b/files/ja/web/xslt/element/message/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/message +tags: + - XSLT + - message + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/message +--- +

{{ XsltRef() }}

+ +

<xsl:message> 要素は (NS の JavaScript コンソールに) メッセージを出力し、オプションでスタイルシートの実行を終了します。これはデバッグに便利です。

+ +

構文

+ +
<xsl:message terminate="yes" | "no" >
+	TEMPLATE
+</xsl:message>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
terminate
+
"yes" に設定すると実行を終了する必要があります。デフォルト値は "no" です。この場合メッセージが出力され、実行が続行されます。
+
+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 13.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/namespace-alias/index.html b/files/ja/web/xslt/element/namespace-alias/index.html new file mode 100644 index 0000000000..086d3544ed --- /dev/null +++ b/files/ja/web/xslt/element/namespace-alias/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/namespace-alias +tags: + - XSLT + - namespace-alias + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/namespace-alias +--- +

{{ XsltRef() }}

+ +

<xsl:namespace-alias> 要素はスタイルシート内の名前空間を出力ツリー内の別の名前空間にマップする、めったに使用されないデバイスです。 この要素の最も一般的な使い方は、別のスタイルシートからスタイルシートを生成することです。通常は xsl:-prefixed リテラルの result 要素 (結果ツリーにそのままコピーする必要があります) がプロセッサによって誤解されるのを防ぐため、出力ツリーの XSLT 名前空間に適切に再変換される一時的な名前空間が割り当てられます。

+ +

構文

+ +
<xsl:namespace-alias stylesheet-prefix=NAME result-prefix=NAME />
+ +

必須属性

+ +
+
stylesheet-prefix
+
一時的な名前空間を指定します。
+
result-prefix
+
出力ツリーに必要な名前空間を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

最上位は <xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 7.1.1

+ +

Gecko のサポート

+ +

現時点ではサポートされていません。

diff --git a/files/ja/web/xslt/element/number/index.html b/files/ja/web/xslt/element/number/index.html new file mode 100644 index 0000000000..aaba95f2a2 --- /dev/null +++ b/files/ja/web/xslt/element/number/index.html @@ -0,0 +1,170 @@ +--- +title: '' +slug: Web/XSLT/Element/number +tags: + - Number + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/number +--- +

{{ XsltRef() }}

+ +

<xsl:number> 要素は物事を順番に数えます。 また、番号をすばやくフォーマットするためにも使用できます。

+ +

構文

+ +
<xsl:number
+	count=EXPRESSION
+	level="single" | "multiple" | "any"
+	from=EXPRESSION
+	value=EXPRESSION
+	format=FORMAT-STRING
+	lang=XML:LANG-CODE
+	letter-value="alphabetic" | "traditional"
+	grouping-separator=CHARACTER
+	grouping-size=NUMBER  />
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
count
+
ソースツリー内で連続して番号を付けるべき項目を指定します。XPath 式を使用します。
+
+ +
+
level
+
順序番号を生成する際にソースツリーのレベルをどのように考慮すべきかを定義します。これには3つの有効な値があります:singlemultipleany 。デフォルト値は single です。
+
+ +
+
+
+
single
+
リスト内の項目のように、ノードを兄弟順に番号付けします。プロセッサは count 属性に一致する ancestor-or-self 軸の最初のノードに移動し、そのノードとそれに先行するcount属性にも一致するすべての兄弟 (それが存在する場合は from 属性に一致すると停止する) をカウントします。一致するものが見つからない場合、シーケンスは空のリストになります。
+
+
+
+ +
+
+
+
multiple
+
ノードの階層位置 (例: 1.2.2.5 ) を反映する合成シーケンスとしてのノードの番号付け。 (ネストされた書式は format 属性で指定することができます (例:A.1.1) )。プロセッサは現在のノードおよび現在のノード自体のすべての祖先を調べ、from 属性と一致するものに達したときに停止します (存在する場合)。このリスト内の count 属性に一致するノードごとに、プロセッサはそれに先行して一致する兄弟数を数え、ノード自体に1を加算します。一致するものが見つからない場合、シーケンスは空のリストになります。
+
+
+
+ +
+
+
+
any (現時点ではサポートされていません)
+
レベルに関係なく、すべての一致するノードに順番に番号を付けます。 ancestorself、および preceding 軸すべてが考慮されます。プロセッサは現在のノードから開始し、逆の文書順に進み、from 属性に一致する場合は停止します。 count属性に一致するものが見つからない場合、シーケンスは空のリストになります。このレベルは現時点ではサポートされていません。
+
+
+
+ +
+
from
+
番号付けを開始または開始する場所を指定します。シーケンスは from属性に一致するノードの最初の子孫で始まります。
+
+ +
+
value
+
与えられた形式を数値に適用します。これは標準 <xsl:number> 形式のいずれかでユーザーが入力した番号 (ノード順序番号とは対照的に) を簡単にフォーマットする方法です。
+
+ +
+
format
+
生成された番号の形式を定義します。
+
+ +
+
+
+
format="1"
+
1 2 3 . . . (これは現時点でサポートされている唯一の形式です)
+
+
+
+ +
+
+
+
format="01"
+
01 02 03 . . . 09 10 11 . . .
+
+
+
+ +
+
+
+
format="a"
+
a b c . . .y z aa ab . . .
+
+
+
+ +
+
+
+
format="A"
+
A B C . . . Y Z AA AB . . .
+
+
+
+ +
+
+
+
format="i"
+
i ii iii iv v . . .
+
+
+
+ +
+
+
+
format="I"
+
I II III IV V . . .
+
+
+
+ +
+
lang (現時点ではサポートされていません)
+
文字ベースの番号書式で使用する言語のアルファベットを指定します。
+
+ +
+
letter-value
+
文字を使用する番号付けシーケンスの間の曖昧さを解消します。いくつかの言語には文字を使用する複数の番号システムがあります。両方のシステムが同じトークンで始まる場合、あいまいさが発生する可能性があります。この属性の値は "alphabetic" または "traditional" です。デフォルトは "alphabetic" です。
+
+ +
+
grouping-separator
+
どの文字をグループ (たとえば千) の区切り文字として使用するかを指定します。デフォルトはカンマ (,) です。
+
+ +
+
grouping-size
+
数値グループを構成する数字の桁数を示します。デフォルト値は "3" です。
+
+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 7.7

+ +

Gecko のサポート

+ +

部分的なサポート。上記のコメントを参照してください。

diff --git a/files/ja/web/xslt/element/otherwise/index.html b/files/ja/web/xslt/element/otherwise/index.html new file mode 100644 index 0000000000..38e6ff01a3 --- /dev/null +++ b/files/ja/web/xslt/element/otherwise/index.html @@ -0,0 +1,39 @@ +--- +title: '' +slug: Web/XSLT/Element/otherwise +tags: + - XSLT + - otherwise + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/otherwise +--- +

{{ XsltRef() }}

+ +

<xsl:otherwise> 要素は <xsl:when> 条件のいずれも適用されない場合に実行されるアクションを定義するために使用されます。他のプログラミング言語の else または default の場合と似ています。

+ +

構文

+ +
<xsl:otherwise>
+	TEMPLATE
+</xsl:otherwise>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +

なし

+ +

タイプ

+ +

サブ命令は <xsl:choose> 要素の最後の子としてテンプレート内に現れなければなりません。

+ +

定義

+ +

XSLT, section 9.2

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/output/index.html b/files/ja/web/xslt/element/output/index.html new file mode 100644 index 0000000000..d5ecdba3fe --- /dev/null +++ b/files/ja/web/xslt/element/output/index.html @@ -0,0 +1,95 @@ +--- +title: '' +slug: Web/XSLT/Element/output +tags: + - XSLT + - output + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/output +--- +

{{ XsltRef() }}

+ +

<xsl:output> 要素は出力文書の特性を制御します。Netscape で正しく機能するには、method 属性を持つこの要素を使用する必要があります。 7.0より method="text" は期待通りに機能します。

+ +

構文

+ +
<xsl:output
+	method="xml" | "html" | "text"
+	version=STRING
+	encoding=STRING
+	omit-xml-declaration="yes" | "no"
+	standalone="yes" | "no"
+	doctype-public=STRING
+	doctype-system=STRING
+	cdata-section-elements=LIST-OF-NAMES
+	indent="yes" | "no"
+	media-type=STRING  />
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
method
+
出力形式を指定します。
+
+ +
+
version
+
出力文書内の XML 宣言または HTML 宣言の version 属性の値を指定します。この属性は method="html" または method="xml" の場合にのみ使用されます。
+
+ +
+
encoding
+
出力文書の encoding 属性の値を指定します。
+
+ +
+
omit-xml-declaration
+
XML宣言を出力に含めるかどうかを示します。許容可能な値は "yes" または "no" です。
+
+ +
+
standalone (サポートされていません)
+
存在する場合、出力文書でスタンドアロン宣言が発生しその値が返されることを示します。許容可能な値は "yes" または "no" です。
+
+ +
+
doctype-public
+
出力文書の DOCTYPE 宣言の PUBLIC 属性の値を指定します。
+
+ +
+
doctype-system
+
出力文書の DOCTYPE 宣言の SYSTEM 属性の値を指定します。
+
+ +
+
cdata-section-elements
+
テキストの内容を CDATA セクションとして記述する要素をリストします。要素は空白で区切る必要があります。
+
+ +
+
indent (サポートされていません)
+
階層構造を示すために出力を字下げするかどうかを指定します。
+
+ +
+
media-type (サポートされていません)
+
出力ドキュメントの MIME タイプを指定します。
+
+ +

タイプ

+ +

最上位は子 <xsl:stylesheet> または <xsl:transform> である必要があります。

+ +

定義

+ +

XSLT, section 16.

+ +

Gecko のサポート

+ +

部分的なサポート。上記のコメントを参照してください。

diff --git a/files/ja/web/xslt/element/param/index.html b/files/ja/web/xslt/element/param/index.html new file mode 100644 index 0000000000..04fc1f8e3a --- /dev/null +++ b/files/ja/web/xslt/element/param/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/param +tags: + - XSLT + - param + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/param +--- +

{{ XsltRef() }}

+ +

<xsl:param> 要素はパラメータを名前で設定し、オプションでそのパラメータのデフォルト値を設定します。最上位要素として使用される場合、パラメータはグローバルです。<xsl:template> 要素内で使用される場合、パラメータはそのテンプレートに対してローカルです。この場合、テンプレートの最初の子要素でなければなりません。

+ +

構文

+ +
<xsl:param name=NAME select=EXPRESSION>
+	TEMPLATE
+</xsl:param>
+ +

必須属性

+ +
+
name
+
パラメータに名前を付けます。これは QName でなければなりません。
+
+ +

任意属性

+ +
+
select
+
指定されていない場合は XPath 式を使用してデフォルト値を指定します。
+
+ +

タイプ

+ +

命令は、トップレベルの要素として表示されるか、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 11.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/preserve-space/index.html b/files/ja/web/xslt/element/preserve-space/index.html new file mode 100644 index 0000000000..6d6bc6ab1c --- /dev/null +++ b/files/ja/web/xslt/element/preserve-space/index.html @@ -0,0 +1,40 @@ +--- +title: '' +slug: Web/XSLT/Element/preserve-space +tags: + - XSLT + - preserve-space + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/preserve-space +--- +

{{ XsltRef() }}

+ +

<xsl:preserve-space> 要素は空白を保存する要素をソース文書内で定義します。複数の要素がある場合は、名前を空白文字で区切ります。空白を保持するのがデフォルト設定なので、この要素は <xsl:strip-space> 要素を打ち消すために使用する必要があります。

+ +

構文

+ +
<xsl:preserve-space elements=LIST-OF-ELEMENT-NAMES  />
+ +

必須属性

+ +
+
elements
+
空白を保持する要素を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

トップレベル、 <xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 3.4

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/processing-instruction/index.html b/files/ja/web/xslt/element/processing-instruction/index.html new file mode 100644 index 0000000000..9ece5f45c3 --- /dev/null +++ b/files/ja/web/xslt/element/processing-instruction/index.html @@ -0,0 +1,40 @@ +--- +title: '' +slug: Web/XSLT/Element/processing-instruction +tags: + - XSLT + - processing-instruction + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/processing-instruction +--- +

{{ XsltRef() }}

+ +

<xsl:processing-instruction> 要素は処理命令を出力文書に書き込みます。

+ +

構文

+ +
<xsl:processing-instruction name=NAME> TEMPLATE </xsl:processing-instruction>
+ +

必須属性

+ +
+
name
+
この処理命令の名前を指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 7.3

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/sort/index.html b/files/ja/web/xslt/element/sort/index.html new file mode 100644 index 0000000000..8253f44f11 --- /dev/null +++ b/files/ja/web/xslt/element/sort/index.html @@ -0,0 +1,60 @@ +--- +title: '' +slug: Web/XSLT/Element/sort +translation_of: Web/XSLT/Element/sort +--- +

{{ XsltRef() }}

+ +

<xsl:sort> 要素は、<xsl:apply-templates> または <xsl:for-each> で選択されたノードのソートキーを定義し、それらが処理される順序を決定します。

+ +

構文

+ +
<xsl:sort
+	select=EXPRESSION
+	order="ascending" | "descending"
+	case-order="upper-first" | "lower-first"
+	lang=XML:LANG-CODE
+	data-type="text" | "number" /> 
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
select
+
XPath 式を使用してソートするノードを指定します。
+
+ +
+
order
+
ノードを "ascending" または "descending" に処理するかどうかを指定します。デフォルトは "ascending" です。
+
+ +
+
case-order
+
大文字か小文字かを最初に指示するかどうかを示します。許容される値は "upper-first" および "lower-first" である。
+
+ +
+
lang
+
ソートで使用する言語を指定します。
+
+ +
+
data-type
+
アイテムをアルファベット順または数値順に並べ替えるかどうかを定義します。 許容される値は "text" と "number" で、"text" がデフォルトです。
+
+ +

タイプ

+ +

Subinstructionは常に <xsl:for-each> の子として現れます。テンプレートの適切な場所または <xsl:apply-templates> の前に現れなければなりません。

+ +

定義

+ +

XSLT, section10.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/strip-space/index.html b/files/ja/web/xslt/element/strip-space/index.html new file mode 100644 index 0000000000..8971c1da0f --- /dev/null +++ b/files/ja/web/xslt/element/strip-space/index.html @@ -0,0 +1,40 @@ +--- +title: '' +slug: Web/XSLT/Element/strip-space +tags: + - XSLT + - strip-space + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/strip-space +--- +

{{ XsltRef() }}

+ +

<xsl:strip-space> 要素は空白を削除する必要があるソースドキュメント内の要素を定義します。

+ +

構文

+ +
<xsl:strip-space elements=LIST-OF-ELEMENT-NAMES  />
+ +

必須属性

+ +
+
elements
+
空白のみのテキストノードを削除する必要がある、ソース内の要素のスペース区切りリストを指定します。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

トップレベル、<xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 3.4

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/stylesheet/index.html b/files/ja/web/xslt/element/stylesheet/index.html new file mode 100644 index 0000000000..c9a457a04a --- /dev/null +++ b/files/ja/web/xslt/element/stylesheet/index.html @@ -0,0 +1,100 @@ +--- +title: '' +slug: Web/XSLT/Element/stylesheet +tags: + - Reference + - StyleSheet + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/stylesheet +--- +
{{XSLTRef}}{{QuickLinksWithSubpages("/ja/docs/Web/XSLT")}}
+ +

<xsl:stylesheet> 要素 (または同等の <xsl:transform> 要素) は、スタイルシートの最も外側の要素です。

+ +

名前空間宣言

+ +

文書を XSLT スタイルシートとして識別するために必要な擬似属性。通常これは xmlns:xsl="http://www.w3.org/1999/XSL/Transform" です。

+ +

構文

+ +
<xsl:stylesheet
+	version="NUMBER"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	id="NAME"
+	extension-element-prefixes="LIST-OF-NAMES"
+	exclude-result-prefixes="LIST-OF-NAMES">
+		ENTIRE STYLESHEET
+</xsl:stylesheet>
+ +

必須属性

+ +
+
version
+
このスタイルシートに必要な XSLT のバージョンを指定します。
+
+ +

任意属性

+ +
+
exclude-result-prefixes
+
この文書で使用されている名前空間のうち、出力文書に送信すべきではないものを指定します。リストは空白区切りです。
+
extension-element-prefixes
+
この文書における拡張要素の名前空間接頭辞をすべて、空白区切りのリストで指定します。
+
default-collation
+
この要素を祖先とする属性またはテキスト値のテンプレートに現れるすべての {{Glossary("XPath")}} 式で、内部の要素の別な default-collation 属性で上書きされた場合を除き、使用される既定の照合を指定します。これは特定の XSLT の構築 (<xsl:key> および xsl:for-each-group などの) も指定します。
+
default-mode
+
mode 属性の既定値を、スコープ内におけるすべての <xsl:template> および <xsl:apply-templates> 要素について定義します。
+
default-validation
+
スコープ内に現れるすべての関連する指示について validation 属性の既定値を定義します。
+
expand-text
+
要素の配下のテキストノードをテキスト値のテンプレートとして扱うかどうかを指定します。
+
id
+
このスタイルシートのIDを指定します。これはスタイルシートが別の XML 文書に埋め込まれている場合に最もよく使用されます。
+
input-type-annotations
+
元の文書がスキーマに対して検証されているかどうかに関係なく、同じ結果が生成されるように、要素から型表記を削除するかどうかを指定します。
+
use-when
+
要素とそれを祖先として持つすべてのノードをスタイルシートから除外するかどうかを決定します。
+
xpath-default-namespace
+
XPath 式内で接頭辞のない要素名や型名に使用される名前空間を指定します。
+
+ +

種別

+ +

スタイルシートのもっとも外側の要素である必要があります。

+ +

仕様書

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName("XSLT 3.0", "#stylesheet-element", "<xsl:stylesheet>")}}{{Spec2("XSLT 3.0")}}default-mode, expand-text, use-when 属性を追加。
{{SpecName("XSLT 2.0", "#stylesheet-element", "<xsl:stylesheet>")}}{{Spec2("XSLT 2.0")}}xpath-default-namespace, default-validation, default-collation, input-type-annotations 属性を追加し、 version を除くすべての属性を省略可とした。
{{SpecName("XSLT 1.0", "#stylesheet-element", "<xsl:stylesheet>")}}{{Spec2("XSLT 1.0")}}初回定義
+ +

ブラウザーの互換性

+ + + +

{{Compat("xslt.elements.stylesheet")}}

diff --git a/files/ja/web/xslt/element/template/index.html b/files/ja/web/xslt/element/template/index.html new file mode 100644 index 0000000000..8adaeab07a --- /dev/null +++ b/files/ja/web/xslt/element/template/index.html @@ -0,0 +1,62 @@ +--- +title: '' +slug: Web/XSLT/Element/template +tags: + - Template + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/template +--- +

{{ XsltRef() }}

+ +

<xsl:template> 要素は出力生成テンプレートを定義します。この要素は、match 属性または name 属性のいずれかを持つ必要があります。

+ +

構文

+ +
<xsl:template
+	match=PATTERN
+	name=NAME
+	mode=NAME
+	priority=NUMBER>
+	<xsl:param> [optional]
+	TEMPLATE
+</xsl:template>
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
match
+
このテンプレートを使用する要素を決定するパターンを指定します。これは name 属性がない場合に必須の属性です。
+
+ +
+
name
+
このテンプレートの名前を指定します。テンプレートの名前は <xsl:call-template> 要素を使用して呼び出すことができます。
+
+ +
+
mode
+
このテンプレートの特定のモードを指定します。このモードは <xsl:apply-templates> 要素の属性と一致させることができます。 これは複数の方法で同じ情報を処理する場合に便利です。
+
+ +
+
priority
+
このテンプレートの数値優先度を指定します。これは Infinity 以外の任意の数にすることができます。複数のテンプレートが同じノードに一致する場合、プロセッサはこの番号を使用します。
+
+ +

タイプ

+ +

最上位は <xsl:stylesheet> または <xsl:transform> の子である必要があります。

+ +

定義

+ +

XSLT, section 5.3.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/text/index.html b/files/ja/web/xslt/element/text/index.html new file mode 100644 index 0000000000..8d4978254d --- /dev/null +++ b/files/ja/web/xslt/element/text/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/text +tags: + - Text + - XSLT + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/text +--- +

{{ XsltRef() }}

+ +

<xsl:text> 要素はリテラルテキストを出力ツリーに書き込みます。 #PCDATA、リテラルテキスト、およびエンティティ参照を含むことがあります。

+ +

構文

+ +
<xsl:text disable-output-escaping="yes" | "no">
+	TEXT
+</xsl:text> 
+ +

必須属性

+ +

なし

+ +

任意属性

+ +
+
disable-output-escaping (Netscape は変換の結果 - 下の「出力」 - を直列化しませんので、この属性は本質的に文脈上は無関係です。htmlエンティティを出力するには、代わりに数値を使用します (例: &nbsp&#160) )
+
出力に書き込まれたときに特殊文字をエスケープするかどうかを指定します。使用可能な値は "yes" または "no" です。たとえば "yes" が設定されている場合、文字>は > ではなく"&gt" として出力されます。
+
+ +

タイプ

+ +

命令は、テンプレート内に表示されます。

+ +

定義

+ +

XSLT, section 7.2

+ +

Gecko のサポート

+ +

注意してサポートされています。

diff --git a/files/ja/web/xslt/element/transform/index.html b/files/ja/web/xslt/element/transform/index.html new file mode 100644 index 0000000000..5b906fb74b --- /dev/null +++ b/files/ja/web/xslt/element/transform/index.html @@ -0,0 +1,17 @@ +--- +title: '' +slug: Web/XSLT/Element/transform +tags: + - XSLT + - transform + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/transform +--- +

{{ XsltRef() }}

+ +

The <xsl:transform> 要素は <xsl:stylesheet> 要素とまったく同じです。

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/value-of/index.html b/files/ja/web/xslt/element/value-of/index.html new file mode 100644 index 0000000000..2c4eb67bad --- /dev/null +++ b/files/ja/web/xslt/element/value-of/index.html @@ -0,0 +1,41 @@ +--- +title: '' +slug: Web/XSLT/Element/value-of +tags: + - XSLT + - XSLT_Reference +translation_of: Web/XSLT/Element/value-of +--- +

{{ XsltRef() }}

+ +

<xsl:value-of> 要素は XPath 式を評価し、それを文字列に変換し、その文字列を result tree に書きます。

+ +

構文

+ +
<xsl:value-of select=EXPRESSION disable-output-escaping="yes" | "no"  />
+ +

必須属性

+ +
+
select
+
評価され、出力ツリーに書き込まれる XPath 式を指定します。
+
+ +

オプション属性

+ +
+
disable-output-escaping (Netscape は変換の結果 - 下の「出力」 - を直列化しませんので、この属性は本質的に文脈上は無関係です。htmlエンティティを出力するには、代わりに数値を使用します (例: &nbsp&#160) )
+
出力に書き込まれたときに特殊文字をエスケープするかどうかを指定します。使用可能な値は "yes" または "no" です。たとえば "yes" が設定されている場合、文字>は > ではなく"&gt" として出力されます。
+
+ +

タイプ

+ +

インストラクションはテンプレートとともに表示されます。

+ +

定義

+ +

XSLT, section 7.6.1.

+ +

Gecko のサポート

+ +

上記以外はサポートされています。

diff --git a/files/ja/web/xslt/element/variable/index.html b/files/ja/web/xslt/element/variable/index.html new file mode 100644 index 0000000000..35d33329e1 --- /dev/null +++ b/files/ja/web/xslt/element/variable/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/variable +tags: + - XSLT + - variable + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/variable +--- +

{{ XsltRef() }}

+ +

<xsl:variable> 要素はスタイルシートにグローバル変数またはローカル変数を宣言し、値を与えます。XSLT は副作用を許さないため、変数の値が設定されると、変数がスコープから外れるまでは変わりません

+ +

構文

+ +
<xsl:variable name=NAME select=EXPRESSION >
+	TEMPLATE
+</xsl:variable> 
+ +

必須属性

+ +
+
name
+
変数に名前を付けます。
+
+ +

任意属性

+ +
+
select
+
XPath 式を使用して変数の値を定義します。要素にテンプレートが含まれている場合、この属性は無視されます。
+
+ +

タイプ

+ +

トップレベルまたは指示。トップレベル要素として発生するとその変数は範囲がグローバルであり、ドキュメント全体からアクセスできます。テンプレート内で発生する場合、変数はスコープ内でローカルであり、変数が現れるテンプレート内でのみアクセスできます。

+ +

定義

+ +

XSLT, section 11.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/when/index.html b/files/ja/web/xslt/element/when/index.html new file mode 100644 index 0000000000..51ed3d778b --- /dev/null +++ b/files/ja/web/xslt/element/when/index.html @@ -0,0 +1,42 @@ +--- +title: '' +slug: Web/XSLT/Element/when +tags: + - XSLT + - when + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/when +--- +

{{ XsltRef() }}

+ +

<xsl:when> 要素は <xsl:choose> 要素内に常に表示され、case 文のように動作します。

+ +

構文

+ +
<xsl:when test=EXPRESSION>
+	TEMPLATE
+</xsl:when>
+ +

必須属性

+ +
+
test
+
評価されるブール式を指定します。trueの場合、要素の内容が処理されます。falseの場合は無視されます。
+
+ +

任意属性

+ +

なし

+ +

タイプ

+ +

サブ命令は、常に <xsl:choose> 要素内に現れます。

+ +

定義

+ +

XSLT, section 9.2.

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/element/with-param/index.html b/files/ja/web/xslt/element/with-param/index.html new file mode 100644 index 0000000000..6a1f199c24 --- /dev/null +++ b/files/ja/web/xslt/element/with-param/index.html @@ -0,0 +1,45 @@ +--- +title: '' +slug: Web/XSLT/Element/with-param +tags: + - XSLT + - with-param + - リファレンス + - 要素 +translation_of: Web/XSLT/Element/with-param +--- +

{{ XsltRef() }}

+ +

<xsl:with-param> 要素はテンプレートに渡すパラメータの値を設定します。

+ +

構文

+ +
<xsl:with-param name=NAME select=EXPRESSION>
+	TEMPLATE
+</xsl:with-param>
+ +

必須属性

+ +
+
name
+
このパラメータに名前を付けます。
+
+ +

任意属性

+ +
+
select
+
XPath 式を使用してパラメータの値を定義します。要素にテンプレートが含まれている場合、この属性は無視されます。
+
+ +

タイプ

+ +

サブ命令は常に <xsl:apply-templates> または <xsl:call-template> 要素内に現れます。

+ +

定義

+ +

XSLT 11.6

+ +

Gecko のサポート

+ +

サポート済み

diff --git a/files/ja/web/xslt/index.html b/files/ja/web/xslt/index.html new file mode 100644 index 0000000000..9571c32e05 --- /dev/null +++ b/files/ja/web/xslt/index.html @@ -0,0 +1,67 @@ +--- +title: 'XSLT: 拡張可能なスタイルシートの言語変換' +slug: Web/XSLT +tags: + - Landing + - XSLT +translation_of: Web/XSLT +--- +

{{XSLTRef}}{{QuickLinksWithSubpages("/ja/docs/XSLT")}}

+ +

Extensible Stylesheet Language Transformations (XSLT)XML ベースの言語で、XML 文書の変換をするために特別な処理ソフトウェア (プロセッサ) とともに利用されます。

+ +

この処理は "変換" と呼ばれますが、元の文書は変更されません。この"変換"ではまず、新しい XML 文書が元の文書の内容をもとに作成され、プロセッサによってそのまま、もしくは標準 XML や HTML やテキストなどの形式でシリアライズ (出力) されます。

+ +

XSLT は異なる XML スキーマ間でのデータの変換や、XML データからウェブページや PDF 文書への変換に最も使われています。{{ Ref("one") }}

+ + + + + + + + +
+

ドキュメント

+ +
+
XSLT要素リファレンス
+
リファレンス。
+
XSLTを使ったXML変換
+
XSLTを使うと、スタイルシートの制作者は、元のXML文書を二つの重要な手法で変換できます。すなわち、コンテンツの操作・選別(もしお望みならば大規模な並べ替えも含まれます)および、異なる形式への変換です。
+
Mozilla JavaScript インターフェースからXSL変換を使う
+
Mozilla 1.2以降のJavaScriptからXSLT処理エンジンへのインタフェースを説明します。
+
処理命令を使ったパラメータの指定
+
Firefox では <?xml-stylesheet?> 処理指令を使ってスタイルシートのパラメータを指定することができます。各パラメータは <?xslt-param?> 処理指令によって指定でき、この文書ではこれらを説明しています。
+ +
XSLT チュートリアル
+
この W3Schools のチュートリアルでは、XML 文書を他の XHTML のような形態に変換するために、どのように XSLT を用いればいいのかを示します。
+
XSLT とは?
+
この XSLT と XPath についての強力な導入では、技術についての予備知識が無い読者を想定して、背景、前後関係、構造、コンセプト、用語紹介を含めたガイドを提供します。
+
一般的なXSLTエラー
+
この文書はFirefoxでXSLTを使う際の問題点を列挙しています。
+
XSLT 2.0 (新規)
+
+ +

すべて見る

+
+

コミュニティ

+ +
    +
  • Mozilla フォーラムを見る...
  • +
+ +

{{ DiscussionList("dev-tech-xslt", "mozilla.dev.tech.xslt") }}

+ +

関連事項

+ + + +
+
+
+ +
+

{{ endnote("one") }} この XSLT についての説明は、Wikipedia XSLT 記事(英語版) のものです。

diff --git a/files/ja/web/xslt/index/index.html b/files/ja/web/xslt/index/index.html new file mode 100644 index 0000000000..91bb5362a3 --- /dev/null +++ b/files/ja/web/xslt/index/index.html @@ -0,0 +1,12 @@ +--- +title: Index +slug: Web/XSLT/Index +tags: + - Index + - XSLT + - リファレンス +translation_of: Web/XSLT/Index +--- +

{{XSLTRef}}{{QuickLinksWithSubpages("/ja/docs/Web/XSLT")}}

+ +

{{Index("/ja/docs/XSLT")}}

diff --git a/files/ja/web/xslt/pi_parameters/index.html b/files/ja/web/xslt/pi_parameters/index.html new file mode 100644 index 0000000000..e3888ab698 --- /dev/null +++ b/files/ja/web/xslt/pi_parameters/index.html @@ -0,0 +1,128 @@ +--- +title: PIパラメータ +slug: Web/XSLT/PI_Parameters +tags: + - XSLT +translation_of: Web/XSLT/PI_Parameters +--- +

概要

+ +

XSLT は実行時にパラメータをスタイルシートに渡すという概念をサポートしています。これによりしばらくの間は JavaScriptで XSLTProcessor を使用することが可能です。しかし、 <?xml-stylesheet?> 処理命令(PI)を使用するときは、パラメータを提供する方法がありませんでした。
+
+ これを解決するために2つの新しい PI 、つまり <?xslt-param?> および <?xslt-param-namespace?>Firefox 2 (詳細については{{ Anch("Supported versions") }}を参照) で実装されています。どちらのPIにも、xml-stylesheet PI と同じ方法で「擬似属性」を含めることができます。
+
+ 次のドキュメントは "color" と "size" の2つのパラメータをスタイルシート  "style.xsl" に渡します。

+ +
<?xslt-param name="color" value="blue"?>
+<?xslt-param name="size" select="2"?>
+<?xml-stylesheet type="text/xsl" href="style.xsl"?>
+
+ +

これらの PI は JavaScript で XSLTProcessor オブジェクトを使用して変換が行われても効果がありません。

+ +

処理の指示

+ +

xslt-param および xslt-param-namespace PIの属性は、xml-stylesheet で定義されている規則を使用して解析されます。認識できない属性はすべて無視する必要があります。属性の解析は、 xml-stylesheet の構文に従う限り、認識できない属性が存在するせいで失敗してはなりません。

+ +

xslt-paramxslt-param-namespace PIの両方はドキュメントのプロローグ、つまり最初の要素タグの前になければなりません。プロローグ内のすべての PI は、xml-stylesheet PIの前後に発生する必要があります。

+ +

複数の xml-stylesheet PIがある場合、パラメータはすべてのスタイルシートに適用され、その結果すべてのスタイルシートがXSLT仕様に従って単一のスタイルシートにインポートされます。複数の xml-stylesheet XSLT PI は現在 Firefox ではサポートされていません。

+ +

xslt-param

+ +

xslt-param PI は 4つの属性をサポートしています。

+ +
+
name 
+
パラメータ名のローカル名部分。属性の構文チェックは行われませんが、有効な NCName でない場合は、スタイルシートのどのパラメータにも一致しません。
+
namespace 
+
パラメータ名の名前空間。属性の構文チェックは行われません。
+
value 
+
パラメータの文字列値を格納します。属性の値はパラメータの値として使用されます。データ型は常に最適です。
+
select 
+
パラメータの XPath 式。属性の値は XPath 式として解析されます。式を評価した結果はパラメータの値として使用されます。
+
+ +

name 属性がないか空の場合、PI は無視されます。

+ +

namespace 属性がないか空の場合、null 名前空間が使用されます。

+ +

スタイルシートに存在しない (またはスタイルシート内の変数である) パラメータ名を指定するのはエラーではありません。PI は単に無視されます。

+ +

valueselect の両方が存在する場合、または valueselect も存在しない場合、PI は無視されます。

+ +

value="..." はアポストロフィと引用文字の両方を含むことができるので、厳密には select="'...'" と等しくないことに注意してください。

+ +
+ +

パラメータ 'color' を文字列 'red' に設定します。

+ +
<?xslt-param name="color" value="red"?>
+
+ +

パラメータ 'columns' を2に設定します。

+ +
<?xslt-param name="columns" select="2"?>
+
+ +

パラメータ 'books' を null 名前空間のすべての <book> 要素を含むノードセットに設定します。

+ +
<?xslt-param name="books" select="//book"?>
+
+ +

パラメータ 'show-toc' を真偽値 true に設定します。

+ +
 <?xslt-param name="show-toc" select="true()"?>
+
+ +
select属性コンテキスト
+ +

次のコンテキストは、select 属性の式の解析と評価に使用されます。

+ +
    +
  • コンテキストノードは、スタイルシートを実行するときに使用される初期カレントノードとして使用されるノードです
  • +
  • コンテキストポジションは、スタイルシートを実行する際に使用される初期カレントノードリスト内のコンテキストノードの位置です
  • +
  • コンテキストサイズは、スタイルシートを実行する際に使用される初期の現在のノードリストのサイズです
  • +
  • 変数はありません
  • +
  • 関数ライブラリは標準の XPath 関数ライブラリです。
  • +
  • 名前空間宣言は xslt-param-namespace PI によって決まります。以下を参照してください
  • +
+ +

select 属性が解析または実行に失敗した場合、PI は無視されます (特に、value 属性に戻ることはありません)。

+ +

xslt-param-namespace

+ +

xslt-param-namespace は2つの属性を使用します。

+ +
+
prefix 
+
マッピングされている接頭辞
+
namespace 
+
接頭辞がマップされる名前空間
+
+ +

xslt-param-namespace PI は、それに続くすべての xslt-params のselect属性の式に影響します。 これは、xslt-param-namespaceとxslt-param PIの間にコメントや他のPIなどの他のノードがある場合でも適用されます。

+ +

複数の PI が同じプレフィックスを使用するのはエラーではなく、新しい PI はすべてプレフィックスがマップする名前空間を変更するだけです。

+ +

接頭辞がないか、空もしくは無効な NCName と等しい場合、PI は無視されます。
+
+ 名前空間がない場合、PI は無視されます。名前空間が空の場合、接頭辞マッピングは削除されます。

+ +
+ +

パラメータ 'books' を 'http://www.example.org/myNamespace' 名前空間のすべての <book> 要素を含むノードセットに設定します。

+ +
<?xslt-param-namespace prefix="my" namespace="http://www.example.org/myNamespace"?>
+<?xslt-param name="books" select="//my:book"?>
+
+ +

サポート対象バージョン

+ +

Firefox 2.0.0.1以降でサポートされています。value 属性は Firefox 2 ではサポートされていますが、2.0 リリースの一部の式では select 属性がクラッシュします。

+ +

可能性のある将来の開発

+ +

式に XSLT 関数を許可する必要がありますか? document() は役に立ちそうですが、generate-id() が同じ文書に対して同じ文字列を生成しなければならない不変条件を維持するのは難しいようです。

+ +

XSLT スタイルシートで URL パラメータをクエリするとどうなりますか? 例えば、それらを指定された <xsl:param>に渡します。

diff --git a/files/ja/web/xslt/transforming_xml_with_xslt/an_overview/index.html b/files/ja/web/xslt/transforming_xml_with_xslt/an_overview/index.html new file mode 100644 index 0000000000..2143342741 --- /dev/null +++ b/files/ja/web/xslt/transforming_xml_with_xslt/an_overview/index.html @@ -0,0 +1,49 @@ +--- +title: XSLT の概要 +slug: Web/XSLT/Transforming_XML_with_XSLT/An_Overview +tags: + - Transforming_XML_with_XSLT + - XML + - XSLT +translation_of: Web/XSLT/Transforming_XML_with_XSLT/An_Overview +--- +

« Transforming XML with XSLT

+ +

eXtensible Stylesheet Language/Transform は非常に強力な言語であり、この記事の全体的な議論はこの記事の範囲をはるかに超えていますが、基本的な概念の簡単な説明は Netscape の機能の説明の理解に役立ちます。

+ +
+
XSLTスタイルシートはXMLドキュメントです。
+
独自の特殊な構文を持つ CSS と異なり、XSLT スタイルシートは XML 文書であり、整形式を含むすべての XML 規則に準拠しなければなりません。したがって、変換のモデルは1つの XML 文書を使用して別の XML 文書を変換することです。
+
XSLTスタイルシートには、標準のXSLT見出しが含まれています。
+
XSLTスタイルシートの最も外側の要素は <xsl:stylesheet> 要素でなければなりません (受け入れ可能な代替要素は <xsl:transform> 要素です)。この要素には少なくとも1つの名前空間宣言と必須のバージョン属性が含まれます。他の名前空間と3つのオプションの属性も含めることができます。
+
XSLTの必須名前空間は "http://www.w3.org/1999/XSL/Transform" です。
+
+

名前空間は XML のかなりの混乱の対象です。多くの場合、名前空間はURIであるように見えますが、実際にはそのアドレスにあるリソースを参照していません。代わりに既知の要素セットの一意の識別子を指定する単なる方法です。文字列 "http://www.w3.org/1999/XSL/Transform" は、1999 年に XSLT 勧告で W3C によって指定されたタグのセットに属するとマークされた要素を指定する定数です。スタイルシートで時折見られる別の文字列 "http://www.w3.org/TR/WD-xsl" は、W3C 文書の以前の作業草案 (したがってWD) に準拠していることを示します。後者のネームスペースは W3C が最終的に採用したものと互換性がなく、Netscape でサポートされていません。
+
+ 繰り返し "http://www.w3.org/1999/XSL/Transform" と入力するのは面倒で、マークアップを読みにくくするため、スタイルシートの見出しの名前空間に省略名を割り当てるための標準的なメカニズムがあります。したがって、opening stylesheet 要素の完全な例は、このようになります。

+
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
xmlns 擬似属性は、後続の文書全体で使用するために短縮名 xsl を完全な名前空間にマップします。したがって、上記の stylesheet 要素の前に xsl: が付いています。xsl は従来使用されていた短縮名 (接頭辞と呼ばれます) ですが必須ではなく、別の名前を選択することも可能です。この記事の例はすべて xsl 接頭辞の使用を前提としています。
+
すべてのXSLT変換は、ドキュメントではなくツリーで実行されます。
+
+

プロセッサと呼ばれるXSLT変換エンジンは、ドキュメントでは直接動作しません。変換が行われる前に、プライマリ XML ドキュメントとスタイルシートドキュメントは、メモリ内のドキュメント構造の抽象的な表現を作成するパーサを介して実行する必要があります。ツリーと呼ばれるこの表現は、プロセッサによって実際に操作されるものです。ツリーは抽象データ型であり、パーサーとプロセッサに応じてさまざまな方法で実装できる概念モデルです。Netscape ではツリー構造として W3C DOM に似た構造を使用していますが、他のものも可能です。唯一の要件はツリー内のオブジェクトの配置、そのプロパティ、およびそれらの関係に関係します。
+
+ ツリーはノードの階層的なフレームワークで構成されています。単一のルートノード、要素ノード、テキストノード、属性ノード、コメントノード、処理命令ノード、および名前空間ノードの7つの異なるタイプのノードで構成できます。
+
+ ツリーの最上部にルートノードがあります。ルートノードは XML 文書の個々の部分に対応していません。文書全体を表します。ルートノードの下には要素、コメント、処理命令などの子要素があります。これらの子要素の中にはさらに子要素がいるものもあります。そして、これはいくつかのレベルのために続けることができます。たとえば、テキストノードには子を持たないなど、ノードの種類が発生する特定の制約があります。
+
+ プロセッサのアクションの結果もツリーです。Netscape はこのツリーを使用してブラウザウィンドウにコンテンツを表示します。

+
+
XSLTは、高水準の宣言型言語です。
+
本質的に、XSLT スタイルシートはテンプレートと呼ばれる一連のルールであり、この特定のパターンに一致するノードはこの特定の方法で操作され、結果ツリーのこの特定の位置で終了することを宣言します。これがどのように達成されるかについての詳細は、プロセッサに委ねられています。スタイルシートの実行順序は保証できないため、XSLT は副作用を発生させる機能をサポートしていません。これは Lisp や Scheme のようなものです。
+
ツリー上の場所は、別の W3C 勧告である XPath を使用して指定されます。
+
変換はプロセッサがツリー上の個々のノードを特定できるかどうかに依存します。これを容易にするために、W3C は別の言語である XPath を使用することに決め、Xpath は XSLT コンテキスト外でも使用されています。その名前が示すように、XPath はプロセッサがツリーを通過して目的のノードに到達する「パス」を定義します。このパスは評価される XPath 特有の表現、一致される条件の数、ノードを関連付ける方法、および/またはツリー内の方向性の指示を含む式からなります。XSLT で最も一般的に使用される XPath の部分の詳細な説明は、参考セクションで説明します。
+
テンプレートマッチングの潜在的な競合は、一連のカスケード優先ルールを使用して解決されます。
+
一般的に、より具体的なテンプレートルールはあまり具体的でないテンプレートルールよりも優先され、他のものは同等であるため、ドキュメントの後に表示されるテンプレートルールが先に表示されたものよりも優先されます。
+
スタイルシートは、処理命令を介してXML文書に添付することができます。
+
特定の XML 文書を処理するためにどの XSLT スタイルシートを使用すべきかを示す最も簡単な方法は、XML 文書自体に処理命令を含めることです。 たとえば、スタイルシートが inventory.xsl と呼ばれ、xml ドキュメントと同じディレクトリにある場合、xml ドキュメントの処理命令は次のようになります。
+
<?xml-stylesheet type="text/xml" href="inventory.xsl"?>
+
これは xml ドキュメントのプロローグセクションに配置する必要があります。
+
+ +

XSLTとXPathの詳細については、この記事の最後にある参考文献を参照してください。

diff --git a/files/ja/web/xslt/transforming_xml_with_xslt/for_further_reading/index.html b/files/ja/web/xslt/transforming_xml_with_xslt/for_further_reading/index.html new file mode 100644 index 0000000000..87ecf2e669 --- /dev/null +++ b/files/ja/web/xslt/transforming_xml_with_xslt/for_further_reading/index.html @@ -0,0 +1,200 @@ +--- +title: XSLT - さらなる読書のために +slug: Web/XSLT/Transforming_XML_with_XSLT/For_Further_Reading +tags: + - NeedsContent + - NeedsHelp + - Transforming_XML_with_XSLT + - XML + - XSLT +translation_of: Web/XSLT/Transforming_XML_with_XSLT/For_Further_Reading +--- +

« Transforming XML with XSLT

+ +

印刷物

+ +

書籍

+ +
+
XSLT: Programmer's Reference, Second Edition + +
+
著者: Michael H. Kay
+
ページ数: 992 pages
+
出版社: Wrox; 2 edition (May 3, 2001)
+
ISBN: 0764543814 +
+
Michael Kayは W3C XSL ワーキンググループのメンバーであり、オープンソース XSLT プロセッサである Saxon の開発者です。彼はまた、このテーマに関する第2版に達した唯一の本の著者でもあります。これは XSLT ストーリーのすべての可能なベースを網羅している非常に大きな本です。うまくレイアウトされています。
+
+
+
+
+
+ +

http://www.amazon.com/XSLT-Programme.../dp/0764543814

+ +
+
XSLT + +
+
著者: Doug Tidwell
+
ページ数: 473 pages
+
出版社: O'Reilly Media; 1 edition (August 15, 2001)
+
ISBN: 0596000537 +
+
Doug Tidwell は IBM の上級開発者であり、一般に XML 技術の著名なエバンジェリストです。彼は IBM の幅広い XML 開発者サイトで、XML のさまざまな側面に関するいくつかの記事とチュートリアルの著者です。この本はマイケル・ケイのものよりもいくぶん包括的ではありませんが、基礎をうまくカバーし、興味深い例を提供しています。
+
+
+
+
+
+ +

http://www.amazon.com/Xslt-Doug-Tidwell/dp/0596000537

+ +
+
Learning XML, Second Edition + +
+
著者: Erik T. Ray
+
ページ数: 432 pages
+
出版社: O'Reilly Media; 2 edition (September 22, 2003)
+
ISBN: 0596004206 +
+
タイトルが示すように、これは一般的に XML の概要です。第6章は特に XSLT に専念しています。
+
+
+
+
+
+ +

http://www.amazon.com/gp/product/0596004206

+ +

デジタル

+ +

Webサイト

+ +
+
World Wide Web Consortium + +
+
W3C ホームページ: http://www.w3.org/
+
メインの XSL ページ: http://www.w3.org/Style/XSL/
+
The version 1.0 Recommendation for XSLT: http://www.w3.org/TR/xslt
+
Archive of public style (CSS and XSLT) discussions: http://lists.w3.org/Archives/Public/www-style/
+
The version 1.0 Recommendation for XPath: http://www.w3.org/TR/xpath +
+
World Wide Web Consortium は、多くがデファクトスタンダードとなる多くのウェブベースの技術のための勧告を公表する機関です。
+
+
+
+
+
+ +

記事

+ +
+
Hands-on XSL + +
+
著者: Don R. Day
+
場所: http://www-106.ibm.com/developerwork...-hands-on-xsl/
+
+
+
+ +
+
Understanding XSLT + +
+
著者: Jay Greenspan
+
場所: http://hotwired.lycos.com/webmonkey/...l?tw=authoring
+
+
+
+ +
+
What is XSLT? + +
+
著者: G. Ken Holman
+
場所: http://www.xml.com/pub/a/2000/08/holman/index.html
+
+
+
+ +

チュートリアル/例

+ +
+
Zvon + +
+
XSL Programmers: http://www.zvon.org/o_html/group_xsl.html
+
+
+
+ +
+
Jeni's XSLT Pages + +
+
Index: http://www.jenitennison.com/xslt/
+
+
+
+ +
+
XMLPitstop.com + +
+
StyleSheet Center: http://www.xmlpitstop.com/Default.asp?DataType=SSC
+
+
+
+ +
+
XSL チュートリアル + +
+
Index: http://www.nwalsh.com/docs/tutorials/xsl/
+
+
+
+ +

その他

+ +
+
Cover Pages + +
+
Extensible Stylesheet Language (XSL): http://www.oasis-open.org/cover/xsl.html
+
+
+
+ +
+
XSL-List + +
+
購読: http://www.mulberrytech.com/xsl/xsl-list/
+
アーカイブ: http://www.biglist.com/lists/xsl-list/archives/ +
+
XSL-Listは Mulberry Technologies が主催する非常にアクティブな一般的なメーリングリストです
+
+
+
+
+
+ +
+
mozilla.dev.tech.xslt + +
+
Google Groups: http://groups.google.com/group/mozilla.dev.tech.xslt + +
+
これは Netscape 固有の XSLT の問題を説明するニュースグループです。
+
+
+
+
+
diff --git a/files/ja/web/xslt/transforming_xml_with_xslt/index.html b/files/ja/web/xslt/transforming_xml_with_xslt/index.html new file mode 100644 index 0000000000..4c3de9112a --- /dev/null +++ b/files/ja/web/xslt/transforming_xml_with_xslt/index.html @@ -0,0 +1,150 @@ +--- +title: XSLT による XML の変換 +slug: Web/XSLT/Transforming_XML_with_XSLT +tags: + - NeedsMigration + - Transforming_XML_with_XSLT + - XML + - XSLT +translation_of: Web/XSLT/Transforming_XML_with_XSLT +--- +
{{XSLTRef}}
+ +

概要

+ +

コンテンツとプレゼンテーションの分離は、XML の重要な設計の特徴です。 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 リファレンス

+ +

要素

+ + + +

+ + + +

関数

+ + + +

さらなる読み物

+ + + +

リソース

+ +

索引

+ +
+

原典情報

+ +
    +
  • Copyright Information: Copyright © 2001-2003 Netscape. All rights reserved.
  • +
  • 注: この転載記事はもともと DevEdge サイトの一部でした。
  • +
+
diff --git a/files/ja/web/xslt/transforming_xml_with_xslt/resources/index.html b/files/ja/web/xslt/transforming_xml_with_xslt/resources/index.html new file mode 100644 index 0000000000..c7f5d52423 --- /dev/null +++ b/files/ja/web/xslt/transforming_xml_with_xslt/resources/index.html @@ -0,0 +1,15 @@ +--- +title: XSLT - リソース +slug: Web/XSLT/Transforming_XML_with_XSLT/Resources +tags: + - Extensions + - NeedsContent + - NeedsExample + - NeedsLiveSample + - XML + - xsl +translation_of: Web/XSLT/Transforming_XML_with_XSLT/Resources +--- +
    +
  • XSL Results Firefox extension (現在レビュー待ち) - XML文書 (現在ロードされている文書または手動で入力/貼り付けられた文書) に XSL スタイルシート (URLまたはファイルシステムで手動で入力されたもの) を適用して、XSL を試すことができます。
  • +
diff --git a/files/ja/web/xslt/transforming_xml_with_xslt/the_netscape_xslt_xpath_reference/index.html b/files/ja/web/xslt/transforming_xml_with_xslt/the_netscape_xslt_xpath_reference/index.html new file mode 100644 index 0000000000..759309026a --- /dev/null +++ b/files/ja/web/xslt/transforming_xml_with_xslt/the_netscape_xslt_xpath_reference/index.html @@ -0,0 +1,329 @@ +--- +title: Netscape XSLT/XPath リファレンス +slug: Web/XSLT/Transforming_XML_with_XSLT/The_Netscape_XSLT_XPath_Reference +tags: + - Netscape + - XSLT + - axes + - リファレンス +translation_of: Web/XSLT/Transforming_XML_with_XSLT/The_Netscape_XSLT_XPath_Reference +--- +

次のリストは W3C の XSLT 1.0 勧告と、XPath 勧告に適したセクションの要素、axes、関数にアルファベット順に注釈をつけたものです。XSLT プロセッサの開発は進行中です。また、機能の拡張と共にこのドキュメントも更新されます。

+ +

要素

+ +

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

+ +

(対応済)

+ +

Axes

+ +

ancestor

+ +

ancestor-or-self

+ +

attribute

+ +

child

+ +

descendant

+ +

descendant-or-self

+ +

following

+ +

following-sibling

+ +

namespace

+ +
+
(非対応)
+
+ +

parent

+ +

preceding

+ +

preceding-sibling

+ +

self

+ +

関数

+ +

boolean()

+ +

(対応済)

+ +

ceiling()

+ +

(対応済)

+ +

concat()

+ +

(対応済)

+ +

contains()

+ +

(対応済)

+ +

count()

+ +

(対応済)

+ +

current()

+ +

(対応済)

+ +

document()

+ +

(対応済)

+ +

element-available()

+ +

(対応済)

+ +

false()

+ +

(対応済)

+ +

floor()

+ +

(対応済)

+ +

format-number()

+ +

(対応済)

+ +

function-available()

+ +

(対応済)

+ +

generate-id()

+ +

(対応済)

+ +

id()

+ +

(一部対応)

+ +

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()

+ +

(非対応)

diff --git a/files/ja/web/xslt/using_the_mozilla_javascript_interface_to_xsl_transformations/index.html b/files/ja/web/xslt/using_the_mozilla_javascript_interface_to_xsl_transformations/index.html new file mode 100644 index 0000000000..f707cb4701 --- /dev/null +++ b/files/ja/web/xslt/using_the_mozilla_javascript_interface_to_xsl_transformations/index.html @@ -0,0 +1,121 @@ +--- +title: Mozilla JavaScriptインターフェイスを使用したXSL変換 +slug: Web/XSLT/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations +tags: + - XSLT +translation_of: Web/XSLT/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations +--- +

このドキュメントでは、Mozilla 1.2 の JavaScript インターフェイスと、XSLT 処理エンジン (TransforMiiX) について説明します。

+ +

XSLTProcessorの作成

+ +

まず、{{domxref("XSLTProcessor")}} オブジェクトを作成する必要があります。

+ +
+
var processor = new XSLTProcessor();
+
+
+ +

スタイルシートの指定

+ +

これを使用するには、{{domxref("XSLTProcessor.importStylesheet()")}} メソッドを使用してスタイルシートをインポートする必要があります。インポートするXSLTスタイルシートのDOMノードである単一のパラメータがあります。

+ +

{{ note("インポートは動的です。つまりスタイルシートDOMを読み込んだ後にスタイルシートDOMを変更すると、処理に反映されます。DOMを変更するのではなく、通常はより簡単でより良いパフォーマンスを与えることができるスタイルシートパラメータを使用することをお勧めします。") }}

+ +
var testTransform = document.implementation.createDocument("", "test", null);
+// just an example to get a transform into a script as a DOM
+// XMLDocument.load is asynchronous, so all processing happens in the
+// onload handler
+testTransform.addEventListener("load", onload, false);
+testTransform.load("test-transform.xml");
+function onload() {
+  processor.importStylesheet(testTransform);
+}
+
+ +

{{domxref("XSLTProcessor.importStylesheet()")}} には引数、つまり DOM ノードが1つ必要です。そのノードがドキュメントノードの場合、完全なXSL Transformまたはリテラル結果要素の変換を渡すことができます。そうでない場合は、xsl:stylesheet または xsl:transform 要素でなければなりません。

+ +

文書を変形する

+ +

インポートした XSLT スタイルシートを使用して {{domxref("XSLTProcessor.transformToDocument()")}} または {{domxref("XSLTProcessor.transformToFragment()")}} メソッドを使用してドキュメントを変換できます。

+ +

transformToDocument

+ +

{{domxref("XSLTProcessor.transformToDocument()")}} は変換するソースノードを1つ引数として、変換結果とともに新しい {{domxref("Document")}} を返します。

+ +
var newDocument = processor.transformToDocument(domToBeTransformed);
+
+ +

結果のオブジェクトはスタイルシートの出力メソッドに依存します。

+ +
    +
  • html - {{domxref("HTMLDocument")}}
  • +
  • xml - {{domxref("XMLDocument")}}
  • +
  • text - 子としてのテキストを持つ単一のルート要素 <transformiix:result> を持つ {{domxref("XMLDocument")}}
  • +
+ +

transformToFragment

+ +

{{domxref("DocumentFragment")}} ノードを返す {{domxref("XSLTProcessor.transformToFragment()")}} を使用することもできます。フラグメントを別のノードに追加すると、そのフラグメントのすべての子が透過的に追加され、フラグメント自体はマージされないため、これは便利です。したがってフラグメントは、完全なドキュメントオブジェクトのオーバーヘッドなしにノードを移動して格納するのに便利です。
+
+ {{domxref("XSLTProcessor.transformToFragment()")}} は、変換するソースドキュメント (上記) とフラグメントを所有する {{domxref("Document")}} オブジェクトの2つの引数をとります (すべてのフラグメントは文書が所有しなければなりません) 。

+ +
var ownerDocument = document.implementation.createDocument("", "test", null);
+var newFragment = processor.transformToFragment(domToBeTransformed, ownerDocument);
+ +

所有者文書自体が {{domxref("HTMLDocument")}} の場合、またはスタイルシートの出力メソッドがHTMLの場合、{{domxref("XSLTProcessor.transformToFragment()")}} は HTML DOM オブジェクトを生成します。これは、{{domxref("XSLTProcessor.transformToFragment()")}} がこの要素の作成に使用されることはほとんどないので、結果の最上位要素のみが {{HTMLElement("html")}} の場合、HTML DOMオブジェクトを生成しません。これをオーバーライドする場合は、通常の方法で出力メソッドを通常どおりに設定できます。

+ +

transforming HTML

+ +

残念ながら、XSLT を使用して HTML ノードを変換することは現在サポートされていません。パターンや式で小文字のノード名を使用してノードがnull名前空間にあるかのように扱う場合、いくつかのことが成り立ちますが、これはあまりうまくテストされていないため、すべての状況で機能しない可能性があります。これは将来のリリースで変更される可能性もあります。
+
+ しかし XHTML の変換は期待通りに機能するはずです。

+ +

パラメータの設定

+ +

スタイルシートのパラメータは{{domxref("XSLTProcessor.setParameter()")}}、{{domxref("XSLTProcessor.getParameter()")}}、{{domxref("XSLTProcessor.removeParameter()")}} メソッドを使用して制御することができます。これらはすべて {{domxref("XSLTProcessor.setParameter()")}} が設定するパラメータの値の3分の1を使用して、名前空間URIとローカル名を最初の2つのパラメータとして取ります。例については、Gecko の XSLT/JavaScript インターフェースを参照してください。

+ +

リセット

+ +

{{domxref("XSLTProcessor")}} オブジェクトは、すべてのスタイルシートとパラメータを削除してプロセッサを初期状態に戻すために使用できる{{domxref("XSLTProcessor.reset()")}} メソッドも実装しています。このメソッドは Mozilla 1.3 以降で実装されています。

+ +

リソース

+ +

以下は {{domxref("XSLTProcessor")}} オブジェクトのインタフェースを反映しています:

+ +
    +
  • {{ Source("dom/xslt/nsIXSLTProcessor.idl", "nsIXSLTProcessor.idl") }}
  • +
  • {{ Source("dom/webidl/XSLTProcessor.webidl", "XSLTProcessor.webidl") }}
  • +
+ +

XPCOM コンポーネントから XSLTProcessor を使用する

+ +

XPCOMコンポーネントから {{domxref("XSLTProcessor")}} をインスタンス化するには、コンストラクタがコンポーネント内で定義されていないため、別の構文が必要です。

+ +

これの代わりに:

+ +
var processor = new XSLTProcessor();
+
+ +

これを行います:

+ +
var processor = Components.classes["@mozilla.org/document-transformer;1?type=xslt"]
+                          .createInstance(Components.interfaces.nsIXSLTProcessor);
+
+ +

関連情報

+ + + +
+

オリジナルドキュメント情報

+ +
    +
  • 著者: Mike Hearn
  • +
  • 最終更新日: December 21, 2005
  • +
  • 著作権情報: Copyright (C) Mike Hearn
  • +
+
diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/advanced_example/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/advanced_example/index.html new file mode 100644 index 0000000000..b72c94c31a --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/advanced_example/index.html @@ -0,0 +1,102 @@ +--- +title: 高度な例 +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/Advanced_Example +tags: + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/Advanced_Example +--- +

高度な例

+ +

高度な例では、コンテンツに基づいていくつかのdivをソートします。この例では、昇順ソートと降順ソートの間で交互にコンテンツをソートすることができます。JavaScriptは最初に.xslファイルのみをロードし、ファイルのロードが完了するとxslloaded変数をtrueに設定します。{{domxref("XSLTProcessor.getParameter()")}}メソッドを使用すると、コードは昇順または降順に並べ替えることができます。パラメータが空の場合(ソートが初めて発生したとき、XSLTファイルに値がないため)はデフォルトで昇順になります。ソート値は{{domxref("XSLTProcessor.setParameter()")}}を使用して設定されます。

+ +

XSLTファイルには、JavaScriptがソート方法を変更するために設定するmyOrderというパラメータがあります。xsl:sort要素のorder属性は、$myOrderを使用してパラメータの値にアクセスできます。ただし、その値は文字列ではなくXPATH式である必要があるため、{$myOrder}が使用されます。{} を使用すると、コンテンツがXPath式として評価されます。

+ +

変換が完了すると、この例に示すように、結果がドキュメントに追加されます。

+ +

サンプル 7 : div コンテンツを元にソートする

+ +
// XHTML Fragment:
+
+<div id="example">
+  <div>1</div>
+  <div>2</div>
+  <div>3</div>
+  <div>4</div>
+  <div>5</div>
+  <div>6</div>
+  <div>7</div>
+  <div>8</div>
+  <div>9</div>
+  <div>10</div>
+</div>
+
+// JavaScript
+
+var xslRef;
+var xslloaded = false;
+var xsltProcessor = new XSLTProcessor();
+var myDOM;
+
+var xmlRef = document.implementation.createDocument("", "", null);
+
+function sort() {
+  if (!xslloaded){
+    p = new XMLHttpRequest();
+    p.open("GET", "example2.xsl", false);
+    p.send(null);
+
+    xslRef = p.responseXML;
+    xsltProcessor.importStylesheet(xslRef);
+    xslloaded = true;
+  }
+
+  // create a new XML document in memory
+  xmlRef = document.implementation.createDocument("", "", null);
+
+  // we want to move a part of the DOM from an HTML document to an XML document.
+  // importNode is used to clone the nodes we want to process via XSLT - true makes it do a deep clone
+  var myNode = document.getElementById("example");
+  var clonedNode = xmlRef.importNode(myNode, true);
+
+  // after cloning, we append
+  xmlRef.appendChild(clonedNode);
+
+  // set the sorting parameter in the XSL file
+  var sortVal = xsltProcessor.getParameter(null, "myOrder");
+
+  if (sortVal == "" || sortVal == "descending")
+    xsltProcessor.setParameter(null, "myOrder", "ascending");
+  else
+    xsltProcessor.setParameter(null, "myOrder", "descending");
+
+  // initiate the transformation
+  var fragment = xsltProcessor.transformToFragment(xmlRef, document);
+
+  // clear the contents
+  document.getElementById("example").innerHTML = "";
+
+  myDOM = fragment;
+  // add the new content from the transformation
+  document.getElementById("example").appendChild(fragment)
+}
+
+// XSL Stylesheet:
+
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <xsl:output method="html" indent="yes" />
+
+  <xsl:param name="myOrder" />
+
+  <xsl:template match="/">
+
+    <xsl:apply-templates select="/div//div">
+      <xsl:sort select="." data-type="number" order="{$myOrder}" />
+    </xsl:apply-templates>
+  </xsl:template>
+
+  <xsl:template match="div">
+    <xsl:copy-of select="." />
+  </xsl:template>
+</xsl:stylesheet>
+
diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/basic_example/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/basic_example/index.html new file mode 100644 index 0000000000..addc8c548d --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/basic_example/index.html @@ -0,0 +1,128 @@ +--- +title: 基本的な例 +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/Basic_Example +tags: + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/Basic_Example +--- +

基本的な例

+ +

基本的な例では、XMLファイルを読み込んでXSL変換を適用します。これらは、Netscape GeckoのXSLTHTML生成例で使用されているのと同じファイルです。XMLファイルはアーティクルを記述し、XSLファイルは情報を表示用にフォーマットします。

+ +

 サンプル 4 : XML ファイル

+ + +
<?xml version="1.0"?>
+<myNS:Article xmlns:myNS="http://devedge.netscape.com/2002/de">
+  <myNS:Title>My Article</myNS:Title>
+  <myNS:Authors>
+    <myNS:Author company="Foopy Corp.">Mr. Foo</myNS:Author>
+    <myNS:Author>Mr. Bar</myNS:Author>
+  </myNS:Authors>
+  <myNS:Body>
+    The <b>rain</b> in <u>Spain</u> stays mainly in the plains.
+  </myNS:Body>
+</myNS:Article>
+ +

サンプル 5 : XSLT スタイルシート

+ + +
<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+                   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                   xmlns:myNS="http://devedge.netscape.com/2002/de">
+
+  <xsl:output method="html" />
+
+  <xsl:template match="/">
+    <html>
+
+      <head>
+
+        <title>
+          <xsl:value-of select="/myNS:Article/myNS:Title"/>
+        </title>
+
+        <style type="text/css">
+          .myBox {margin:10px 155px 0 50px; border: 1px dotted #639ACE; padding:0 5px 0 5px;}
+        </style>
+
+      </head>
+
+      <body>
+        <p class="myBox">
+          <span class="title">
+            <xsl:value-of select="/myNS:Article/myNS:Title"/>
+          </span> <br />
+
+          Authors:   <br />
+            <xsl:apply-templates select="/myNS:Article/myNS:Authors/myNS:Author"/>
+          </p>
+
+        <p class="myBox">
+          <xsl:apply-templates select="//myNS:Body"/>
+        </p>
+
+      </body>
+
+    </html>
+  </xsl:template>
+
+  <xsl:template match="myNS:Author">
+     --   <xsl:value-of select="." />
+
+    <xsl:if test="@company">
+     ::   <b>  <xsl:value-of select="@company" />  </b>
+    </xsl:if>
+
+    <br />
+  </xsl:template>
+
+  <xsl:template match="myNS:Body">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+      <xsl:copy>
+        <xsl:apply-templates select="@*|node()"/>
+      </xsl:copy>
+  </xsl:template>
+</xsl:stylesheet>
+ +

この例では、.xsl (xslStylesheet) と .xml (xmlDoc) の両方のファイルを同期{{domxref("XMLHTTPRequest")}}のメモリに読み込みます。 次に、.xslファイルがインポートされ(xsltProcessor.importStylesheet(xslStylesheet))、変換が実行されます(xsltProcessor.transformToFragment(xmlDoc, document))。 これにより、新しいページのロードを開始することなく、ページがロードされた後のデータのフェッチが可能になります。

+ +

サンプル 6 : 例

+ +
var xslStylesheet;
+var xsltProcessor = new XSLTProcessor();
+var myDOM;
+
+var xmlDoc;
+
+function Init(){
+
+  // load the xslt file, example1.xsl
+  var myXMLHTTPRequest = new XMLHttpRequest();
+  myXMLHTTPRequest.open("GET", "example1.xsl", false);
+  myXMLHTTPRequest.send(null);
+
+  xslStylesheet = myXMLHTTPRequest.responseXML;
+  xsltProcessor.importStylesheet(xslStylesheet);
+
+
+  // load the xml file, example1.xml
+  myXMLHTTPRequest = new XMLHttpRequest();
+  myXMLHTTPRequest.open("GET", "example1.xml", false);
+  myXMLHTTPRequest.send(null);
+
+  xmlDoc = myXMLHTTPRequest.responseXML;
+
+  var fragment = xsltProcessor.transformToFragment(xmlDoc, document);
+
+  document.getElementById("example").innerHTML = "";
+
+  myDOM = fragment;
+  document.getElementById("example").appendChild(fragment);
+}
diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/index.html new file mode 100644 index 0000000000..7bf138e9ed --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/index.html @@ -0,0 +1,16 @@ +--- +title: Gecko の XSLT/JavaScript インターフェース +slug: Web/XSLT/XSLT_JS_interface_in_Gecko +tags: + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko +--- +
    +
  1. 前書き
  2. +
  3. JavaScript/XSLT バインディング
  4. +
  5. 基本的な例
  6. +
  7. パラメータの設定
  8. +
  9. 高度な例
  10. +
  11. インターフェースリスト
  12. +
  13. リソース
  14. +
diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/interface_list/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/interface_list/index.html new file mode 100644 index 0000000000..0d68953b79 --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/interface_list/index.html @@ -0,0 +1,11 @@ +--- +title: XSLT - インターフェースリスト +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/Interface_List +tags: + - NeedsContent + - リファレンス +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/Interface_List +--- +

インターフェースリスト

+ +

Web APIドキュメントのセクションの {{domxref("XSLTProcessor")}} を参照してください。

diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/introduction/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/introduction/index.html new file mode 100644 index 0000000000..48df66db42 --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/introduction/index.html @@ -0,0 +1,14 @@ +--- +title: 前書き +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/Introduction +tags: + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/Introduction +--- +

前書き

+ +

XSLTをサポートする最新のブラウザでは、開発者は JavaScript を使用して XSLT が提供する機能にアクセスできるようになりました。JavaScript を使用すると、Web アプリケーションは XML データを読み込み、XSLT を介してそれを提示可能なフォームに処理し、それを既存の文書に追加できます。読み込まれた XML データにはプレゼンテーションデータがない生の情報しか含まれていないため、ダイアルアップ時でも素早く読み込むことができます。

+ +

XSLT を使用すると作成者はドキュメントの構造を直接操作できます。たとえば、要素の並べ替えや並べ替えが可能になり、結果として得られる文書の構造をより細かく制御することもできます。

+ +

Mozilla 1.2 以降、Gecko は JavaScript が XSLT プロセッサを作成できるようにします。 この記事では、Gecko の XSLT/JavaScript バインディングについて説明します。Netscape 7.0x では利用できませんが、Netscape 7.1では利用可能です。

diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/javascript_xslt_bindings/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/javascript_xslt_bindings/index.html new file mode 100644 index 0000000000..e6f7cb1545 --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/javascript_xslt_bindings/index.html @@ -0,0 +1,59 @@ +--- +title: JavaScript/XSLT バインディング +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/JavaScript_XSLT_Bindings +tags: + - DOM + - JavaScript + - XML + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/JavaScript_XSLT_Bindings +--- +

JavaScript/XSLT バインディング

+ +

JavaScriptは {{domxref('XSLTProcessor')}} オブジェクトを通してXSLT変換を実行できます。インスタンス化されると、{{domxref('XSLTProcessor')}} には変換で使用される XSLT スタイルシートを引数として取る{{domxref('XSLTProcessor.importStylesheet()')}} メソッドがあります。スタイルシートは XML 文書として渡す必要があります。つまり{{domxref('XSLTProcessor.importStylesheet()')}} を呼び出す前に .xslファイルをページでロードする必要があります。これは {{domxref('XMLHttpRequest')}} または {{domxref('XMLDocument.load()')}} で行うことができます。

+ +

Figure 1 : {{domxref('XSLTProcessor')}} のインスタンス化

+ +
  var xsltProcessor = new XSLTProcessor();
+
+  // Load the xsl file using synchronous (third param is set to false) XMLHttpRequest
+  var myXMLHTTPRequest = new XMLHttpRequest();
+  myXMLHTTPRequest.open("GET", "example.xsl", false);
+  myXMLHTTPRequest.send(null);
+
+  var xslRef = myXMLHTTPRequest.responseXML;
+
+  // Finally import the .xsl
+  xsltProcessor.importStylesheet(xslRef);
+
+ +

実際の変換では、{{domxref('XSLTProcessor')}} には XML ドキュメントが必要です。このドキュメントは、最終的な結果を得るためにインポートされたXSLファイルと一緒に使用されます。XML ドキュメントは、図1に示すようにロードされた別個のXMLファイルでも、既存のページの一部でもかまいません。ページの DOM の一部を処理するには、最初にメモリー内に XML 文書を作成する必要があります。処理対象の DOM が id の exampleを持つ要素に含まれていると仮定すると、その DOM はメモリ内 XML ドキュメントの {{domxref('Document.importNode()')}} メソッドを使用して "複製"できます。{{domxref('Document.importNode()')}} は、ドキュメント間(この場合はHTMLドキュメントからXMLドキュメントへ)のDOMフラグメントを転送することを可能にします。最初のパラメータはクローンを作成する DOM ノードを参照します。2番目のパラメータを "true" にすることですべての子孫も同様にクローンします (深いクローン)。複製された DOM は図2に示すように、{{domxref('Node.appendChild()')}} を使用して簡単にXMLドキュメントに挿入できます。

+ +

Figure 2 : ドキュメントの DOM の一部に基づいて XML ドキュメントを作成する

+ +
  // create a new XML document in memory
+  var xmlRef = document.implementation.createDocument("", "", null);
+
+  // we want to move a part of the DOM from an HTML document to an XML document.
+  // importNode is used to clone the nodes we want to process via XSLT - true makes it do a deep clone
+  var myNode = document.getElementById("example");
+  var clonedNode = xmlRef.importNode(myNode, true);
+
+  // add the cloned DOM into the XML document
+  xmlRef.appendChild(clonedNode);
+
+ +

スタイルシートをインポートしたら、{{domxref('XSLTProcessor')}} は実際の変換に2つのメソッド、つまり{{domxref('XSLTProcessor.transformToDocument()')}} と{{domxref('XSLTProcessor.transformToFragment()')}} を実行する必要があります。{{domxref('XSLTProcessor.transformToDocument()')}} は完全な XML ドキュメントを返しますが、{{domxref('XSLTProcessor.transformToFragment()')}} は既存のドキュメントに簡単に追加できるドキュメントフラグメントを返します。どちらも、変換される最初のパラメーターとして XML 文書を取り込みます。 {{domxref('XSLTProcessor.transformToFragment()')}} は第2のパラメータ、すなわち生成されたフラグメントを所有するドキュメントオブジェクトを必要とします。生成されたフラグメントが現在の HTML ドキュメントに挿入される場合はドキュメントを渡すだけで十分です。

+ +

Figure 2.1 : 文字列 'XML Soup' からの XML 文書の作成

+ +

IE loadXML メソッドを使用して XML を含む文字列をロードすることができますが、Mozilla で同じことをするためにいくつかの微調整とチューニングを行う必要があります。これは DomParser によって処理されるため、DomParser.no を使用してドキュメントを作成する必要があります。

+ +
var parser = new DOMParser();
+var doc = parser.parseFromString(aStr, "text/xml");
+
+ +

Figure 3 : 変換の実行

+ +
  var fragment = xsltProcessor.transformToFragment(xmlRef, document);
+
diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/resources/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/resources/index.html new file mode 100644 index 0000000000..b6474850ad --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/resources/index.html @@ -0,0 +1,14 @@ +--- +title: リソース +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/Resources +tags: + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/Resources +--- +

リソース

+ + diff --git a/files/ja/web/xslt/xslt_js_interface_in_gecko/setting_parameters/index.html b/files/ja/web/xslt/xslt_js_interface_in_gecko/setting_parameters/index.html new file mode 100644 index 0000000000..efa5341630 --- /dev/null +++ b/files/ja/web/xslt/xslt_js_interface_in_gecko/setting_parameters/index.html @@ -0,0 +1,30 @@ +--- +title: XSLT - パラメータの設定 +slug: Web/XSLT/XSLT_JS_interface_in_Gecko/Setting_Parameters +tags: + - XSLT +translation_of: Web/XSLT/XSLT_JS_interface_in_Gecko/Setting_Parameters +--- +

パラメータの設定

+ +

プリコードされた .xsl ファイルと .xml ファイルを使用して変換を実行するのは非常に便利ですが、JavaScript から .xsl ファイルを構成する方がさらに便利です。たとえば、JavaScript と XSLT を使用して XML データをソートして表示することができます。並べ替えは昇順ソートと降順ソートの間で交互に行わなければなりません。
+
+ XSLTは xsl:stylesheet 要素の子である xsl:param 要素を提供します。{{domxref('XSLTProcessor')}} は、これらのパラメータと対話する3つのJavaScriptメソッドを提供します:{{domxref('XSLTProcessor.setParameter()')}}、{{domxref('XSLTProcessor.getParameter()')}} および {{domxref('XSLTProcessor.removeParameter()')}} です。それらはすべて、最初の引数として xsl:param の名前空間URIをとります (通常 param はデフォルトの名前空間に入るため、null を渡すだけで十分です)。xsl:param のローカル名は2番目の引数です。setParameterには3番目の引数、つまりパラメータが設定される値が必要です。

+ +

Figure 7 : パラメータ

+ +
/* XSLT:
+
+<xsl:param name="myOrder" />
+
+*/
+
+// JavaScript:
+
+var sortVal = xsltProcessor.getParameter(null, "myOrder");
+
+if (sortVal == "" || sortVal == "descending")
+  xsltProcessor.setParameter(null, "myOrder", "ascending");
+else
+  xsltProcessor.setParameter(null, "myOrder", "descending");
+
-- cgit v1.2.3-54-g00ecf