---
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>&lt;xsl:param&gt;</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>&lt;xsl:stylesheet&gt;</code> または <code>&lt;xsl:transform&gt;</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>&lt;transformiix:result&gt;</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>&lt;xsl:param&gt;</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>&lt;xsl:import&gt;</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>