XSLT によりドキュメントの集合を処理します。
これは、XMLベースのドキュメントの見やすい形式を作ったり、 コードを生成するのに便利です。
注意:JDK 1.4かそれ以上を利用しているならば、このタスクは外部のライブラリを必要せず、 Antディストリビュージョンで提供されていません。 そうでないとき、詳しくは、ライブラリ依存関係をご覧ください。
処理するファイルの集合を区別することも可能です。 これは、 includes、includesfile、excludes、excludesfile、 およびdefaultexcludes属性によりできます。 includes や includesfile 属性により、 パターンを用いて含めたいファイルを指定します。 exclude や excludesfile 属性は 除外したいファイルを指定するのに使われます。 これもパターンにより指定されます。 そして最後に、 defaultexcludes 属性により、 デフォルトのファイル除外定義を使うかどうかを指定できます。 ファイルの選択と除外の仕組みや、 パターンの書き方については、 ディレクトリベースのタスクをご覧ください。
このタスクは暗黙的な
ファイルセットを生成し、
ネストされた
<include>、<exclude>および
<patternset>要素と同様に
<fileset>
(dir は basedirとなります)
の全ての属性をサポートしています。
このタスクは、 <xsl:param> 宣言に値を渡すために使うネストされた<param>要素の使用をサポートしています。
このタスクは、 エンティティとURIの解決を行うために使われる ネストされた xmlcatalog 要素の使用をサポートしています。
<style> および <xslt> は、 同じ Ant タスクを参照しており、 入れ替えて使用可能です。
If you want to use Xalan-J 1 または XSL:P を使いたい場合、 Ant の optional.jar も必要になります。
| 属性 | 説明 | 必須 |
| basedir | ソース XML ファイルを探す場所。 デフォルトはプロジェクトのベースディレクトリ | No |
| destdir | 結果を保存するディレクトリ | in および out が指定されない限りは必須 |
| extension | ターゲットに用いられる望まれるファイル拡張子。 指定されない場合、デフォルトは ".html" | No |
| style | 使用するスタイルシート名。- プロジェクトベースディレクトリからの相対パスか、 絶対パスで与えられる。 非推奨 - 同様に、このタスクの basedir 属性に対する相対パスとして指定することができます。 | Yes |
| classpath | XSLT プロセッサを探すときに使われるクラスパス | No |
| classpathref | 使用するクラスパス。 他の場所で定義されたパスへの 参照として与えられます。 | No |
| force | 依存するソースファイルやスタイルシートよりも新しかったとしても、 ターゲットファイルを(強制的に)再生成します。 | No; デフォルトは false |
| processor | 使用する XSLT プロセッサの名前。 使用可能な値は、 TraX 互換のプロセッサ (即ち Xalan 2 や Saxon といった JAXP インタフェースの実装) では "trax" 、 XSL:P プロセッサでは "xslp"、 Apache XML Xalan (バージョン 1) では "xalan"、 または任意の XSLTLiaison クラスの名前です。 デフォルトは traxで、 次に xalan、xslp (と、その順序で)となります。 クラスパス中に最初のものが見つかると、それが使われます。 非推奨 - XSL:P および xalan 非推奨であり、今後サポートされません。 | No |
| includes | カンマあるいは空白で区切られた選択されるファイルのパターンのリスト; 省略された場合全てのファイルが選択される。 | No |
| includesfile | ファイルの名前; このファイルの各行が includes パターンとして扱われる | No |
| excludes | カンマあるいは空白で区切られた除外するファイルのパターンのリスト; 省略された場合、(デフォルト除外ファイルを除き)何も除外しない。 | No |
| excludesfile | ファイルの名前; このファイルの各行が excludes パターンとして扱われる | an exclude patternNo |
| defaultexcludes | デフォルト除外パターンを使うかどうか指定します。 ("yes"/"no") 省略された場合デフォルト除外パターンは使われます。 | No |
| in | スタイルシートを適用される一つの XML ドキュメントを指定します。 out 属性と共に使用しなければなりません。 | No |
| out | in 属性にスタイルシートを適用した結果の出力名を指定します。 | No |
| scanincludeddirectories |
ディレクトリがincludes/excludes パターンにマッチしたら、
これらのディレクトリにある全てのファイルの変換を試みます。
デフォルトはtrue |
No |
| reloadstylesheet |
スタイルシート変換が新しく作成されたかどうかに関わらず、どの変換操作も管理する。
trueに設定すると、パフォーマンスは落ちるかもしれないが、
Xalan-Jバージョンのバグ周りが作用しているかもしれない。
デフォルトは、false. Ant 1.5.2から. |
No |
プロセッサをロードするクラスパスは、
パスのような構造であり、
ネストされた<classpath> 要素により指定されます。
xmlcatalog 要素は エンティティや URI を解決するのに使われます。
param はパラメータを XSL スタイルシートに渡すのに使われます。
| 属性 | 説明 | 必須 |
| name | XSL パラメータの名前 | Yes |
| expression | param に置き換えられる XSL 式。 元々は、XSL表現のつもりでした。 |
Yes |
| if | このプロパティがセットされると、そのパラメータだけパスする。 | No |
| unless | このプロパティがセットされないと、そのパラメータだけパスする。 | No |
XSLT 仕様書で規定されたように 出力結果の木構造を生成したいか指定するのに使います。
| 属性 | 説明 | 必須 |
| name | プロパティ名 | Yes |
| value | プロパティの値 | Yes |
| 属性 | 説明 | 必須 |
| name | 変換ファクトリの使うための正しいクラスパス。 例えば、 org.apache.xalan.processor.TransformerFactoryImpl や org.apache.xalan.xsltc.trax.TransformerFactoryImpl や net.sf.saxon.TransformerFactoryImplなど。 | No. JAXP探索メカニズムをデフォルトにします。 |
属性
プロセッサファクトリの設定を指定するために使います。 属性名と値は、プロセッサの詳細で、それを理解する実装を知っていなくてはいけない。 あなたのプロセッサのドキュメントを読んでください。
例えば、Xalan 2.xにて:Saxon 7.xにて:
- http://xml.apache.org/xalan/features/optimize (boolean)
- http://xml.apache.org/xalan/features/incremental (boolean)
- ...
- http://saxon.sf.net/feature/allow-external-functions (boolean)
- http://saxon.sf.net/feature/timing (boolean)
- http://saxon.sf.net/feature/traceListener (string)
- http://saxon.sf.net/feature/treeModel (integer)
- http://saxon.sf.net/feature/linenumbering (integer)
- ...
パラメータ
属性 説明 必須 name 属性の名前e Yes value 属性の値 Yes
<style basedir="doc" destdir="build/doc" extension=".html" style="style/apache.xsl"/>xmlcatalogを使用
<xslt basedir="doc" destdir="build/doc" extension=".html" style="style/apache.xsl"> <xmlcatalog refid="mycatalog"/> </xslt> <xslt basedir="doc" destdir="build/doc" extension=".html" style="style/apache.xsl"> <xmlcatalog> <dtd publicId="-//ArielPartners//DTD XML Article V1.0//EN" location="com/arielpartners/knowledgebase/dtd/article.dtd"/> </xmlcatalog> </xslt>XSL パラメータを使用
<xslt basedir="doc" destdir="build/doc" extension=".html" style="style/apache.xsl"> <param name="date" expression="07-01-2000"/> </xslt>トップレベル要素で、グローバルパラメータの"date"を宣言したら、 <xsl:param name="date"/>になり、変数
$dateは、 その後、07-01-2000という値を持ちます。output プロパティを使用
<xslt in="doc.xml" out="build/doc/output.xml" style="style/apache.xsl"> <outputproperty name="method" value="xml";/> <outputproperty name="standalone" value="yes"/> <outputproperty name="encoding" value="iso8859_1"/> <outputproperty name="indent" value="yes"/> </xslt>factoryの設定
<xslt in="doc.xml" out="build/doc/output.xml" style="style/apache.xsl"> <factory name="org.apache.xalan.processor.TransformerFactoryImpl"> <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/> </factory> </xslt>
Copyright © 2000-2004 The Apache Software Foundation. All rights Reserved.
[訳注:これは漆島賢二の訳を参考に、横田聡が翻訳しました。日本語訳に対するコメントがあれば report@jajakarta.orgに送ってください]