diff options
Diffstat (limited to 'files/ja/web/api/xsltprocessor')
6 files changed, 409 insertions, 0 deletions
diff --git a/files/ja/web/api/xsltprocessor/basic_example/index.html b/files/ja/web/api/xsltprocessor/basic_example/index.html new file mode 100644 index 0000000000..3d5b98e875 --- /dev/null +++ b/files/ja/web/api/xsltprocessor/basic_example/index.html @@ -0,0 +1,49 @@ +--- +title: Basic Example +slug: Web/API/XSLTProcessor/Basic_Example +tags: + - XSLT +translation_of: Web/API/XSLTProcessor/Basic_Example +--- +<div>{{英語版章題("Basic Example")}}</div> +<h2 id=".E5.9F.BA.E6.9C.AC.E7.9A.84.E3.81.AA.E4.BE.8B" name=".E5.9F.BA.E6.9C.AC.E7.9A.84.E3.81.AA.E4.BE.8B">基本的な例</h2> +<p>最初の例は、ブラウザで XSLT 変換の設定の基本を実演します。 この例は、人が読むことのできる書式で書かれた記事についての情報 (タイトル、著者の一覧、本文) を含む XML ドキュメントを取得します。</p> +<p>図 1 は基本的な XSLT の例のソースです。XML ドキュメント (example.xml) は記事についての情報を含んでいます。<code>?xml-stylesheet?</code> で処理を指示すると、その href 属性を通して XSLT スタイルシートへリンクします。</p> +<p>XSLT スタイルシートは、最終的な出力を生成するためのすべてのテンプレートを含む、<code>xsl:stylesheet</code> 要素で開始します。図 1 の例には二つのテンプレートがあります。一つはルートノードに対応し、一つは Author ノードに対応します。ルートノードが出力する記事のタイトルにテンプレートが一致すると、(<code>apply-templates</code> を通して) Authors ノードの子の、すべての Author ノードに対応するテンプレートが処理されます。</p> +<p>図 1 : 簡単な XSLT の例</p> +<p>XML ドキュメント (example.xml) :</p> + +<pre class="brush:xml"><?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="example.xsl"?> +<Article> + <Title>My Article</Title> + <Authors> + <Author>Mr. Foo</Author> + <Author>Mr. Bar</Author> + </Authors> + <Body>This is my article text.</Body> +</Article></pre> + +<p>XSL スタイルシート (example.xsl) :</p> + +<pre class="brush:xml"><?xml version="1.0"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:output method="text"/> + + <xsl:template match="/"> + Article - <xsl:value-of select="/Article/Title"/> + Authors: <xsl:apply-templates select="/Article/Authors/Author"/> + </xsl:template> + + <xsl:template match="Author"> + - <xsl:value-of select="." /> + </xsl:template> + +</xsl:stylesheet></pre> +<p>ブラウザの出力:</p> +<pre>Article - My Article +Authors: +- Mr. Foo +- Mr. Bar +</pre> diff --git a/files/ja/web/api/xsltprocessor/browser_differences/index.html b/files/ja/web/api/xsltprocessor/browser_differences/index.html new file mode 100644 index 0000000000..eb3fe9d6c9 --- /dev/null +++ b/files/ja/web/api/xsltprocessor/browser_differences/index.html @@ -0,0 +1,13 @@ +--- +title: Browser Differences +slug: Web/API/XSLTProcessor/Browser_Differences +translation_of: Web/API/XSLTProcessor/Browser_Differences +--- +<p> +</p> +<h2 id=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.81.AE.E9.81.95.E3.81.84"> ブラウザの違い </h2> +<p>Netscape 7.x (すべてのプラットフォーム) と Internet Explorer 6 (Windows) は W3C XSLT 1.0 標準 (<a class=" external" href="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</a>) をサポートしています。IE 5.0 および 5.5 (共に Windows) は XSLT のワーキングドラフトのみがサポートされているため、XSLT 1.0 スタイルシートとの互換性はありません。Netscape 6.x は XSLT 1.0 が部分的にサポートされています。 +</p> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/XSLT_in_Gecko/Browser_Differences", "fr": "fr/XSLT_dans_Gecko/Diff\u00e9rences_entre_les_navigateurs", "ko": "ko/XSLT_in_Gecko/Browser_Differences" } ) }} diff --git a/files/ja/web/api/xsltprocessor/generating_html/index.html b/files/ja/web/api/xsltprocessor/generating_html/index.html new file mode 100644 index 0000000000..5dd0bc1f01 --- /dev/null +++ b/files/ja/web/api/xsltprocessor/generating_html/index.html @@ -0,0 +1,178 @@ +--- +title: Generating HTML +slug: Web/API/XSLTProcessor/Generating_HTML +translation_of: Web/API/XSLTProcessor/Generating_HTML +--- +<p> +</p> +<h2 id="HTML_.E3.82.92.E7.94.9F.E6.88.90.E3.81.99.E3.82.8B"> HTML を生成する </h2> +<p>ブラウザ内の XSLT の共通アプリケーションの一つは、クライアント上で XML を HTML へと変換することです。二つ目の例は、前回と同様の記事についての情報を含むドキュメント (example2.xml) を入力し、HTML ドキュメントへ変換します。 +</p><p>今回は、記事の <code><span><body></span></code> 要素は HTML 要素 (図 2 では <code><span><b></span></code> タグと <code><span><u></span></code> タグ) を含みます。XML ドキュメントは HTML 要素と XML 要素の両方を含みますが、一つの名前空間、つまり XML 要素のための名前空間のみが必要です。これには HTML 名前空間が無く、XHTML 名前空間を使用すると HTML ドキュメントのように振舞わない XML ドキュメントを XSL に生成させてしまうため、XSL スタイルシート内の <code>xsl:output</code> によって結果のドキュメントが HTML として扱われるようにします。XML 要素については、私たちの独自の名前空間 <code><a class=" external" href="http://devedge.netscape.com/2002/de">http://devedge.netscape.com/2002/de</a></code> と、それによって与えられる myNS プレフィックス <code>(xmlns:myNS="<span>http://devedge.netscape.com/2002/de</span>")</code> が必要です。 +</p><p><small><b>図 2 XML ファイル :(example2.xml)<span>view example | view source</span></b></small> +<span>XML Document (example2.xml):</span> +</p> +<pre><?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="example2.xsl"?> + <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> +</pre> +<p>XSL スタイルシートは二つの名前空間を持つ必要があります。一つは XSLT 要素、もう一つは私たちの独自の XML 要素を XML ドキュメント内で使用するためのものです。XSL スタイルシートの出力は、<code>xsl:output</code> 要素を使用して <code>HTML</code> に設定します。出力を HTML に設定すると結果的に要素 (青色の部分) が名前空間を持たないため、これらの要素は HTML 要素とみなされます。 +</p><p><small><b>図 3 : 二つの名前空間をもつ XSL スタイルシート</b> (example2.xsl)</small> +<span>XSL Stylesheet (example2.xsl):</span> +</p> +<pre> <?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:stylesheet version="1.0"> +</pre> +<p>XML ドキュメントのルートノードに一致するテンプレートは、基本的な HTML ページの構造を生成するために作成し、使用されます。 +</p><p><small><b>図 4 : 基本的な HTML ドキュメントの生成</b></small> +<span>XSL スタイルシート (example2.xsl):</span> +</p> +<pre> ... + <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> + ... +</pre> +<p>例を完成するには、さらに三つの <code>xsl:template</code> が必要です。最初の <code>xsl:template</code> は、二番目のテンプレートが body ノードを処理する間、author ノードに使用されます。三番目のテンプレートは、任意のノードや任意の属性に対応する一般的な対応規則を持っています。これは XML ドキュメント内で、HTML 要素のすべてに対応し、変換生成される HTML ドキュメントにコピーする要素を予約しておくために必要です。 +</p><p><b><small>図 5 : 最終的な三つのテンプレート</small></b> +<span>XSL Stylesheet(example2.xsl):</span> +</p> +<pre> ... + <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> + ... +</pre> +<p>最終的な XSLT スタイルシートは次のようになります: +</p><p><small><b>図 6 : 最終的な XSLT スタイルシート<span>view example | view source</span></b></small> +<span>XSL Stylesheet:</span> +</p> +<pre> <?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> +</pre> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/XSLT_in_Gecko/Generating_HTML", "fr": "fr/XSLT_dans_Gecko/G\u00e9n\u00e9ration_de_HTML", "ko": "ko/XSLT_in_Gecko/Generating_HTML" } ) }} diff --git a/files/ja/web/api/xsltprocessor/index.html b/files/ja/web/api/xsltprocessor/index.html new file mode 100644 index 0000000000..f0668fb323 --- /dev/null +++ b/files/ja/web/api/xsltprocessor/index.html @@ -0,0 +1,136 @@ +--- +title: XSLTProcessor +slug: Web/API/XSLTProcessor +tags: + - API + - DOM + - DOM Reference + - Reference + - XSLT +translation_of: Web/API/XSLTProcessor +--- +<p>{{Non-standard_header}}{{SeeCompatTable}}{{APIRef("XSLT")}}</p> + +<p><strong><code>XSLTProcessor</code></strong> は、<a href="/ja/docs/XSLT">XSLT</a> スタイルシート変換を XML 文書に適用して、新しい XML 文書を出力として生成します。XSLT スタイルシートをロードし、<code><xsl:param></code> パラメータ値を操作し、変換処理をドキュメントに適用するメソッドを持っています。</p> + +<h2 id="構文">構文</h2> + +<p>コンストラクタにはパラメータはありません。</p> + +<pre class="syntaxbox">new XSLTProcessor()</pre> + +<h2 id="メソッド">メソッド</h2> + +<dl> + <dt><code><a href="/en-US/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="http://www.w3.org/TR/xslt#result-element-stylesheet">リテラルの結果要素の変換</a>を渡すことができます。それ以外の場合は、<code><xsl:stylesheet></code> または <code><xsl:transform></code> 要素でなければなりません。</dd> + <dt><code><a href="/en-US/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="/en-US/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="http://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")}} with a single root element <code><transformiix:result></code> with the text as a child</td> + </tr> + </tbody> + </table> + </dd> + <dt><code><a href="/en-US/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="/en-US/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="/en-US/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="プロパティ">プロパティ</h2> + +<h3 id="ウェブで公開されないプロパティ">ウェブで公開されないプロパティ</h3> + +<p>次のプロパティは <a href="/ja/docs/Mozilla/WebIDL_bindings#ChromeOnly"><code>[ChromeOnly]</code></a> で、ウェブコンテンツには公開されません。</p> + +<dl> + <dt><code><a href="/en-US/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="例">例</h2> + +<ol> + <li><a href="/en-US/docs/XSLT/XSLT_JS_Interface_in_Gecko/Basic_Example">Basic example</a></li> + <li><a href="/en-US/docs/XSLT/XSLT_JS_Interface_in_Gecko/Advanced_Example">Advanced example</a></li> + <li><a href="/en-US/docs/XSLT/XSLT_JS_Interface_in_Gecko/JavaScript_XSLT_Bindings">Additional example</a></li> +</ol> + +<h2 id="仕様">仕様</h2> + +<p>仕様の一部ではありません。これは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="ブラウザの互換性">ブラウザの互換性</h2> + +<div class="hidden">このページの互換表は構造化データから生成されます。データに貢献したい場合は <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックし、プルリクエストを送信してください。</div> + +<p>{{Compat("api.XSLTProcessor")}}</p> + +<h2 id="関連情報">関連情報</h2> + +<ul> + <li><a href="/en-US/docs/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations">Using the Mozilla JavaScript interface to XSL Transformations</a></li> +</ul> diff --git a/files/ja/web/api/xsltprocessor/introduction/index.html b/files/ja/web/api/xsltprocessor/introduction/index.html new file mode 100644 index 0000000000..353bcad2bc --- /dev/null +++ b/files/ja/web/api/xsltprocessor/introduction/index.html @@ -0,0 +1,16 @@ +--- +title: Introduction +slug: Web/API/XSLTProcessor/Introduction +translation_of: Web/API/XSLTProcessor/Introduction +--- +<p> +</p> +<h2 id=".E5.BA.8F.E6.96.87"> 序文 </h2> +<p>W3C 標準で気付かされる流行の一つは、スタイルからコンテンツを分ける努力がなされていることです。これにより、同じスタイルを複数のコンテンツで再利用することができ、簡単なメンテナンスでコンテンツの外観を (一つのファイルの修正のみで) すばやく変更することができます。 +</p><p>CSS (Cascade Style Sheets) は W3C によって最初に提唱された方法の一つでした。CSS は簡単な方法でスタイル規則を Web ドキュメントに適用します。これらのスタイル規則は、ドキュメント(その中のコンテンツ) のレイアウトを定義します。しかしながら、プログラミング構造や複雑なレイアウトモデルの作成能力に欠陥があるなどいくつかの制限があります。CSS はまた、要素の配置の変更のサポートも制限されています。 +</p><p>XSL (Extensible Stylesheet Language) 変換は二つの部分で構成されています: XML ツリーを他のマークアップツリーおよび XPath へ変換可能にする XSL 要素、ツリーのための選択言語。XSLT は XML ドキュメント(そのコンテンツ) を取得し、XSL スタイルシートの規則によって新しいドキュメントを生成します。XSLT によって、オリジナルの XML ドキュメントから要素を追加、削除、再構成することができるため、結果的にドキュメント構造をより細かく制御することができます。 +</p><p>XSLT による変換は、テンプレートからなる規則を基にしています。各テンプレート (XPath を使用) は入力する XML ドキュメントの断片に一致すると、新しいドキュメントを生成するため、テンプレートをその断片の代わりとなる部分に適用します。 +</p> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/XSLT_in_Gecko/Introduction", "ko": "ko/XSLT_in_Gecko/Introduction" } ) }} diff --git a/files/ja/web/api/xsltprocessor/resources/index.html b/files/ja/web/api/xsltprocessor/resources/index.html new file mode 100644 index 0000000000..5df1f1d465 --- /dev/null +++ b/files/ja/web/api/xsltprocessor/resources/index.html @@ -0,0 +1,17 @@ +--- +title: Resources +slug: Web/API/XSLTProcessor/Resources +translation_of: Web/API/XSLTProcessor/Resources +--- +<p> </p> + +<h2 id=".E5.8F.82.E8.80.83" name=".E5.8F.82.E8.80.83">参考</h2> + +<ul> + <li><a class="external" href="http://devedge.netscape.com/library/manuals/2001/xslt/1.0/">Transforming XML: Netscape and XSLT</a></li> + <li><a class="external" href="http://www-106.ibm.com/developerworks/library/x-xslt/">What kind of language is XSLT?</a> (<a class="external" href="http://www-106.ibm.com/developerworks/">IBM developerWorks</a>)</li> + <li><a class="external" href="http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html">XSLT Tutorial</a> (<a class="external" href="http://www.zvon.org/">zvon.org</a>)</li> + <li><a class="external" href="http://www.zvon.org/xxl/XPathTutorial/General/examples.html">XPath Tutorial</a> (<a class="external" href="http://www.zvon.org/">zvon.org</a>)</li> + <li><a class="external" href="http://www.mozilla.org/projects/xslt/js-interface.html">Using the Mozilla JavaScript interface to do XSL Transformations</a> (<a class="external" href="http://www.mozilla.org/">mozilla.org</a>)</li> + <li><a class="external" href="http://www.mozilla.org/projects/xslt/">Mozilla.org の XSLT プロジェクトページ</a> (よく起こる問題についてのセクションを含む)</li> +</ul> |