blob: 2f16fb2bf966c9625e09131f11dcb9b8a70a8e7b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
---
title: XSLTProcessor
slug: Web/API/XSLTProcessor
tags:
- API
- DOM
- DOM Reference
- Reference
- XSLT
browser-compat: api.XSLTProcessor
translation_of: Web/API/XSLTProcessor
---
<div>{{Non-standard_header}}{{SeeCompatTable}}{{APIRef("XSLT")}}</div>
<p><strong><code>XSLTProcessor</code></strong> は、<a href="/ja/docs/Web/XSLT">XSLT</a> スタイルシート変換を XML 文書に適用して、新しい XML 文書を出力として生成します。 XSLT スタイルシートをロードし、<code><xsl:param></code> 引数の値を操作し、変換処理を文書に適用するメソッドを持っています。</p>
<h2 id="Syntax">構文</h2>
<p>コンストラクターに引数はありません。</p>
<pre class="brush: js">new XSLTProcessor()</pre>
<h2 id="Methods">メソッド</h2>
<dl>
<dt><code><a href="/ja/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> void </code>{{domxref("XSLTProcessor.importStylesheet")}}<code>(</code>{{domxref("Node")}}<code> styleSheet)</code></dt>
<dd>XSLT スタイルシートをインポートします。指定されたノードがドキュメントノードの場合は、完全な XSL Transform または<a href="https://www.w3.org/TR/xslt#result-element-stylesheet">リテラルの結果要素の変換</a>を渡すことができます。それ以外の場合は、<code><xsl:stylesheet></code> または <code><xsl:transform></code> 要素でなければなりません。</dd>
<dt><code><a href="/ja/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> </code>{{domxref("DocumentFragment")}} {{domxref("XSLTProcessor.transformToFragment")}}<code>(</code>{{domxref("Node")}}<code> source, </code>{{domxref("Document")}}<code> owner)</code></dt>
<dd>{{domxref("XSLTProcessor.importStylesheet()")}} 関数を使用してインポートしたスタイルシートを適用して、ノードソースを変換します。結果として得られる文書フラグメントの文書オーナーは所有者ノードです。</dd>
<dt><code><a href="/ja/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a></code> {{domxref("Document")}} {{domxref("XSLTProcessor.transformToDocument")}}<code>(</code>{{domxref("Node")}}<code> source)</code></dt>
<dd>
<p>{{domxref("XSLTProcessor.importStylesheet()")}} 関数を使用してインポートされたスタイルシートを適用して、ノードソースを変換します。</p>
<p>結果のオブジェクトはスタイルシートの<a href="https://www.w3.org/TR/xslt#output">メソッド出力</a>に依存します。</p>
<table class="standard-table">
<thead>
<tr>
<th scope="col">メソッド出力</th>
<th scope="col">結果のタイプ</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>html</code></td>
<td>{{domxref("HTMLDocument")}}</td>
</tr>
<tr>
<td><code>xml</code></td>
<td>{{domxref("XMLDocument")}}</td>
</tr>
<tr>
<td><code>text</code></td>
<td>{{domxref("XMLDocument")}} と単一のルート要素 <code><transformiix:result></code> に子としてテキストがついたもの</td>
</tr>
</tbody>
</table>
</dd>
<dt>
<code><a href="/ja/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> void </code>{{domxref("XSLTProcessor.setParameter")}}<code>(</code>{{jsxref("String")}}<code> namespaceURI, </code>{{jsxref("String")}}<code> localName, any value)</code>
</dt>
<dd>インポートされた XSLT スタイルシートに引数を設定します。 (<code><xsl:param></code> の値を設定します)。<code>namespaceURI</code> の値が null の場合は、空の文字列と同じように扱われます。</dd>
<dt>
<code><a href="/ja/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> any </code>{{domxref("XSLTProcessor.getParameter")}}<code>(</code>{{jsxref("String")}}<code> namespaceURI, </code>{{jsxref("String")}}<code> localName)</code>
</dt>
<dd>XSLT スタイルシートから引数の値を取得します。 <code>namespaceURI</code> の値が null の場合は、空の文字列と同じように扱われます。</dd>
<dt>
<code><a href="/ja/docs/Mozilla/WebIDL_bindings#Throws">[Throws]</a> void </code>{{domxref("XSLTProcessor.removeParameter")}}<code>(</code>{{jsxref("String")}}<code> namespaceURI, </code>{{jsxref("String")}}<code> localName)</code>
</dt>
<dd>パラメータが以前に設定されていた場合は削除します。これにより、<code>XSLTProcessor</code> はスタイルシートで指定されたパラメータの既定値を使用します。<code>namespaceURI</code> の値が null の場合は、空の文字列と同じように扱われます。</dd>
<dt><code>void </code>{{domxref("XSLTProcessor.clearParameters()")}}</dt>
<dd><code>XSLTProcessor</code> からすべての設定パラメータを削除します。 <code>XSLTProcessor</code> は XSLT スタイルシートで指定されているデフォルトを使用します。</dd>
<dt><code>void </code>{{domxref("XSLTProcessor.reset()")}}</dt>
<dd>すべてのパラメータとスタイルシートを <code>XSLTProcessor</code> から削除します。</dd>
</dl>
<h2 id="Properties">プロパティ</h2>
<h3 id="Non-Web-exposed_properties">ウェブで公開されないプロパティ</h3>
<p>次のプロパティは <a href="/ja/docs/Mozilla/WebIDL_bindings#ChromeOnly"><code>[ChromeOnly]</code></a> で、ウェブコンテンツには公開されません。</p>
<dl>
<dt>
<code><a href="/ja/docs/Mozilla/WebIDL_bindings#ChromeOnly">[ChromeOnly]</a> attribute unsigned long </code>{{domxref("XSLTProcessor.flags")}}
</dt>
<dd>
<p>プロセッサの動作を調整するフラグ。{{domxref("XSLTProcessor.reset()")}} を呼び出してもリセットされません。既定値: <code>0</code></p>
<p>取りうる値は次のとおりです。</p>
<table class="standard-table">
<thead>
<tr>
<th scope="col">名前</th>
<th scope="col">値</th>
<th scope="col">エフェクト</th>
</tr>
</thead>
<tbody>
<tr>
<td>(None)</td>
<td><code>0</code></td>
<td>なし</td>
</tr>
<tr>
<td><code>DISABLE_ALL_LOADS</code></td>
<td><code>1</code></td>
<td>外部ドキュメントの読み込みを無効にする (例: <code><xsl:import></code> および <code>document()</code>)</td>
</tr>
</tbody>
</table>
</dd>
</dl>
<h2 id="Examples">例</h2>
<ol>
<li><a href="/ja/docs/Web/XSLT/XSLT_JS_interface_in_Gecko/Basic_Example">基本的な例</a></li>
<li><a href="/ja/docs/Web/XSLT/XSLT_JS_interface_in_Gecko/Advanced_Example">高度な例</a></li>
<li><a href="/ja/docs/Web/XSLT/XSLT_JS_interface_in_Gecko/JavaScript_XSLT_Bindings">追加の例</a></li>
</ol>
<h2 id="Specifications">仕様書</h2>
<p><em>どの仕様書にも含まれていません。</em>これは Gecko に由来する独自のインターフェースです。</p>
<h2 id="Gecko_IDL">Gecko IDL</h2>
<ul>
<li><code>{{ Source("dom/webidl/XSLTProcessor.webidl", "XSLTProcessor.webidl") }}</code></li>
<li><code>{{ Source("dom/xslt/nsIXSLTProcessor.idl", "nsIXSLTProcessor.idl") }}</code></li>
</ul>
<h2 id="Browser_compatibility">ブラウザーの互換性</h2>
<p>{{Compat}}</p>
<h2 id="See_also">関連情報</h2>
<ul>
<li><a href="/ja/docs/Web/XSLT/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations">Mozilla JavaScript インターフェイスを使用した XSL 変換</a></li>
</ul>
|