You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

style.html 14 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="en-us">
  4. <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"/>
  5. <title>Xslt/Style Task</title>
  6. </head>
  7. <body>
  8. <h2><a name="style">Xslt/Style</a></h2>
  9. <h3>Description</h3>
  10. <p>Process a set of documents via XSLT.</p>
  11. <p>This is useful for building views of XML based documentation,
  12. or for generating code.</p>
  13. <p><b>Note:</b> If you are using JDK 1.4 or higher, this task does not require external libraries
  14. not supplied in the Ant distribution. Otherwise,
  15. see <a href="../install.html#librarydependencies">Library Dependencies</a> for more information.</p>
  16. <p>It is possible to refine the set of files that are being processed. This can be
  17. done with the <i>includes</i>, <i>includesfile</i>, <i>excludes</i>, <i>excludesfile</i> and <i>defaultexcludes</i>
  18. attributes. With the <i>includes</i> or <i>includesfile</i> attribute you specify the files you want to
  19. have included by using patterns. The <i>exclude</i> or <i>excludesfile</i> attribute is used to specify
  20. the files you want to have excluded. This is also done with patterns. And
  21. finally with the <i>defaultexcludes</i> attribute, you can specify whether you
  22. want to use default exclusions or not. See the section on <a
  23. href="../dirtasks.html#directorybasedtasks">directory based tasks</a>, on how the
  24. inclusion/exclusion of files works, and how to write patterns.</p>
  25. <p>This task forms an implicit <a href="../CoreTypes/fileset.html">FileSet</a> and supports all
  26. attributes of <code>&lt;fileset&gt;</code> (<code>dir</code> becomes <code>basedir</code>)
  27. as well as the nested <code>&lt;include&gt;</code>, <code>&lt;exclude&gt;</code>
  28. and <code>&lt;patternset&gt;</code> elements.</p>
  29. <p>This task supports the use of a nested <code>&lt;param&gt;</code> element which is used to pass values
  30. to an <code>&lt;xsl:param&gt;</code> declaration.</p>
  31. <p>This task supports the use of a nested <a href="../CoreTypes/xmlcatalog.html">xmlcatalog</a>
  32. element which is used to perform Entity and URI resolution</p>
  33. <p><i><code>&lt;style&gt;</code> and <code>&lt;xslt&gt;</code> refer to the same Ant task and can be used interchangeably.</i></p>
  34. <p>If you want to use Xalan-J 1 or XSL:P, you also need Ant's optional.jar</p>
  35. <h3>Parameters</h3>
  36. <table border="1" cellpadding="2" cellspacing="0">
  37. <tr>
  38. <td valign="top"><b>Attribute</b></td>
  39. <td valign="top"><b>Description</b></td>
  40. <td align="center" valign="top"><b>Required</b></td>
  41. </tr>
  42. <tr>
  43. <td valign="top">basedir</td>
  44. <td valign="top">where to find the source XML file, default is the
  45. project's basedir.</td>
  46. <td align="center" valign="top">No</td>
  47. </tr>
  48. <tr>
  49. <td valign="top">destdir</td>
  50. <td valign="top">directory in which to store the results.</td>
  51. <td align="center" valign="top">Yes, unless in and out have been
  52. specified.</td>
  53. </tr>
  54. <tr>
  55. <td valign="top">extension</td>
  56. <td valign="top">desired file extension to be used for the targets. If not
  57. specified, the default is &quot;.html&quot;. Will be ignored if
  58. a nested <code>&lt;mapper&gt;</code> has been specified.</td>
  59. <td align="center" valign="top">No</td>
  60. </tr>
  61. <tr>
  62. <td valign="top">style</td>
  63. <td valign="top">name of the stylesheet to use - given either relative
  64. to the project's basedir or as an absolute path
  65. <em><strong>DEPRECATED</strong> - can be specified as a path relative
  66. to the basedir attribute of this task as well</em>.
  67. </td>
  68. <td align="center" valign="top">Yes</td>
  69. </tr>
  70. <tr>
  71. <td valign="top">classpath</td>
  72. <td valign="top">the classpath to use when looking up the XSLT
  73. processor.</td>
  74. <td align="center" valign="top">No</td>
  75. </tr>
  76. <tr>
  77. <td valign="top">classpathref</td>
  78. <td valign="top">the classpath to use, given as <a
  79. href="../using.html#references">reference</a> to a path defined elsewhere.</td>
  80. <td align="center" valign="top">No</td>
  81. </tr>
  82. <tr>
  83. <td valign="top">force</td>
  84. <td valign="top">Recreate target files, even if they are newer
  85. than their corresponding source files or the stylesheet.</td>
  86. <td valign="top" align="center">No; default is false</td>
  87. </tr>
  88. <tr>
  89. <td valign="top">processor</td>
  90. <td valign="top">name of the XSLT processor to use. Permissible values are
  91. &quot;trax&quot; for a TraX compliant processor (ie JAXP interface
  92. implementation such as Xalan 2 or Saxon),
  93. &quot;xslp&quot; for the XSL:P processor, &quot;xalan&quot; for
  94. the Apache XML Xalan (version 1) processor the name of an
  95. arbitrary XSLTLiaison class. Defaults to trax, followed by xalan
  96. and then xslp (in that order). The first one found in your class
  97. path is the one that is used.
  98. <em><strong>DEPRECATED</strong> - XSL:P and xalan are deprecated and no
  99. more supported.</em>.
  100. </td>
  101. <td align="center" valign="top">No</td>
  102. </tr>
  103. <tr>
  104. <td valign="top">includes</td>
  105. <td valign="top">comma- or space-separated list of patterns of files that must be included.
  106. All files are included when omitted.</td>
  107. <td valign="top" align="center">No</td>
  108. </tr>
  109. <tr>
  110. <td valign="top">includesfile</td>
  111. <td valign="top">the name of a file. Each line of this file is taken to be
  112. an include pattern</td>
  113. <td valign="top" align="center">No</td>
  114. </tr>
  115. <tr>
  116. <td valign="top">excludes</td>
  117. <td valign="top">comma- or space-separated list of patterns of files that must be excluded.
  118. No files (except default excludes) are excluded when omitted.</td>
  119. <td valign="top" align="center">No</td>
  120. </tr>
  121. <tr>
  122. <td valign="top">excludesfile</td>
  123. <td valign="top">the name of a file. Each line of this file is taken to be
  124. an exclude pattern</td>
  125. <td valign="top" align="center">No</td>
  126. </tr>
  127. <tr>
  128. <td valign="top">defaultexcludes</td>
  129. <td valign="top">indicates whether default excludes should be used or not
  130. (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted.</td>
  131. <td valign="top" align="center">No</td>
  132. </tr>
  133. <tr>
  134. <td valign="top">in</td>
  135. <td valign="top">specifies a single XML document to be styled. Should be used
  136. with the out attribute.</td>
  137. <td valign="top" align="center">No</td>
  138. </tr>
  139. <tr>
  140. <td valign="top">out</td>
  141. <td valign="top">specifies the output name for the styled result from the
  142. in attribute.</td>
  143. <td valign="top" align="center">No</td>
  144. </tr>
  145. <tr>
  146. <td valign="top">scanincludeddirectories</td>
  147. <td valign="top">If any directories are matched by the
  148. includes/excludes patterns, try to transform all files in these
  149. directories. Default is <code>true</code></td>
  150. <td valign="top" align="center">No</td>
  151. </tr>
  152. <tr>
  153. <td valign="top">reloadstylesheet</td>
  154. <td valign="top">Control whether the stylesheet transformer is created
  155. anew for every transform opertaion. If you set this to true, performance may
  156. suffer, but you may work around a bug in certain Xalan-J versions.
  157. Default is <code>false</code>. <em>Since Ant 1.5.2</em>.</td>
  158. <td valign="top" align="center">No</td>
  159. </tr>
  160. </table>
  161. <h3>Parameters specified as nested elements</h3>
  162. <h4>classpath</h4>
  163. <p>The classpath to load the processor from can be specified via a
  164. nested <code>&lt;classpath&gt;</code>, as well - that is, a
  165. <a href="../using.html#path">path</a>-like structure.</p>
  166. <h4>xmlcatalog</h4>
  167. <p>The <a href="../CoreTypes/xmlcatalog.html">xmlcatalog</a>
  168. element is used to perform Entity and URI resolution.</p>
  169. <h4>param</h4>
  170. <p>Param is used to pass a parameter to the XSL stylesheet.</p>
  171. <h4>Parameters</h4>
  172. <table width="60%" border="1" cellpadding="2" cellspacing="0">
  173. <tr>
  174. <td valign="top"><b>Attribute</b></td>
  175. <td valign="top"><b>Description</b></td>
  176. <td align="center" valign="top"><b>Required</b></td>
  177. </tr>
  178. <tr>
  179. <td valign="top">name</td>
  180. <td valign="top">Name of the XSL parameter</td>
  181. <td align="center" valign="top">Yes</td>
  182. </tr>
  183. <tr>
  184. <td valign="top">expression</td>
  185. <td valign="top">Text value to be placed into the param.<br/>
  186. Was originally intended to be an XSL expression.</td>
  187. <td align="center" valign="top">Yes</td>
  188. </tr>
  189. <tr>
  190. <td valign="top">if</td>
  191. <td valign="top">The param will only passed if this property is set.</td>
  192. <td align="center" valign="top">No</td>
  193. </tr>
  194. <tr>
  195. <td valign="top">unless</td>
  196. <td valign="top">The param will only passed unless this property is set.</td>
  197. <td align="center" valign="top">No</td>
  198. </tr>
  199. </table>
  200. <h4>outputproperty ('trax' processors only)</h4>
  201. <p>Used to specify how you wish the result tree to be output
  202. as specified in the <a href="http://www.w3.org/TR/xslt#output">
  203. XSLT specifications</a>.
  204. <h4>Parameters</h4>
  205. <table width="60%" border="1" cellpadding="2" cellspacing="0">
  206. <tr>
  207. <td valign="top"><b>Attribute</b></td>
  208. <td valign="top"><b>Description</b></td>
  209. <td align="center" valign="top"><b>Required</b></td>
  210. </tr>
  211. <tr>
  212. <td valign="top">name</td>
  213. <td valign="top">Name of the property</td>
  214. <td align="center" valign="top">Yes</td>
  215. </tr>
  216. <tr>
  217. <td valign="top">value</td>
  218. <td valign="top">value of the property.</td>
  219. <td align="center" valign="top">Yes</td>
  220. </tr>
  221. </table>
  222. <h4>factory ('trax' processors only)</h4>
  223. Used to specify factory settings.
  224. <h4>Parameters</h4>
  225. <table width="60%" border="1" cellpadding="2" cellspacing="0">
  226. <tr>
  227. <td valign="top"><b>Attribute</b></td>
  228. <td valign="top"><b>Description</b></td>
  229. <td align="center" valign="top"><b>Required</b></td>
  230. </tr>
  231. <tr>
  232. <td valign="top">name</td>
  233. <td valign="top">fully qualified classname of the
  234. transformer factory to use. For example
  235. <tt>org.apache.xalan.processor.TransformerFactoryImpl</tt>
  236. or <tt>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</tt>
  237. or <tt>net.sf.saxon.TransformerFactoryImpl</tt>...
  238. </td>
  239. <td align="center" valign="top">No. Defaults to the JAXP lookup mechanism.</td>
  240. </tr>
  241. </table>
  242. <blockquote>
  243. <h4>attribute </h4>
  244. <p>Used to specify settings of the processor factory.
  245. The attribute names and values are entirely processor specific
  246. so you must be aware of the implementation to figure them out.
  247. Read the documentation of your processor.
  248. For example, in Xalan 2.x:
  249. <ul>
  250. <li>http://xml.apache.org/xalan/features/optimize (boolean)</li>
  251. <li>http://xml.apache.org/xalan/features/incremental (boolean)</li>
  252. <li>...</li>
  253. </ul>
  254. And in Saxon 7.x:
  255. <ul>
  256. <li>http://saxon.sf.net/feature/allow-external-functions (boolean)</li>
  257. <li>http://saxon.sf.net/feature/timing (boolean)</li>
  258. <li>http://saxon.sf.net/feature/traceListener (string)</li>
  259. <li>http://saxon.sf.net/feature/treeModel (integer)</li>
  260. <li>http://saxon.sf.net/feature/linenumbering (integer)</li>
  261. <li>...</li>
  262. </ul>
  263. <h4>Parameters</h4>
  264. <table width="60%" border="1" cellpadding="2" cellspacing="0">
  265. <tr>
  266. <td valign="top"><b>Attribute</b></td>
  267. <td valign="top"><b>Description</b></td>
  268. <td align="center" valign="top"><b>Required</b></td>
  269. </tr>
  270. <tr>
  271. <td valign="top">name</td>
  272. <td valign="top">Name of the attribute</td>
  273. <td align="center" valign="top">Yes</td>
  274. </tr>
  275. <tr>
  276. <td valign="top">value</td>
  277. <td valign="top">value of the attribute.</td>
  278. <td align="center" valign="top">Yes</td>
  279. </tr>
  280. </table>
  281. </blockquote>
  282. <h4>mapper</h4>
  283. <p><em>since Ant 1.6.2</em></p>
  284. <p>You can define filename transformations by using a nested <a
  285. href="../CoreTypes/mapper.html">mapper</a> element. The default mapper
  286. used by <code>&lt;xslt&gt;</code> removes the file extension from the
  287. source file and adds the extension specified via the extension
  288. attribute.</p>
  289. <h3>Examples</h3>
  290. <blockquote>
  291. <pre>
  292. &lt;style basedir=&quot;doc&quot; destdir=&quot;build/doc&quot;
  293. extension=&quot;.html&quot; style=&quot;style/apache.xsl&quot;/&gt;</pre>
  294. <h4>Using an xmlcatalog</h4>
  295. <pre>
  296. &lt;xslt basedir=&quot;doc&quot; destdir=&quot;build/doc&quot;
  297. extension=&quot;.html&quot; style=&quot;style/apache.xsl&quot;&gt;
  298. &lt;xmlcatalog refid=&quot;mycatalog&quot;/&gt;
  299. &lt;/xslt&gt;
  300. &lt;xslt basedir=&quot;doc&quot; destdir=&quot;build/doc&quot;
  301. extension=&quot;.html&quot; style=&quot;style/apache.xsl&quot;&gt;
  302. &lt;xmlcatalog&gt;
  303. &lt;dtd
  304. publicId=&quot;-//ArielPartners//DTD XML Article V1.0//EN&quot;
  305. location=&quot;com/arielpartners/knowledgebase/dtd/article.dtd&quot;/&gt;
  306. &lt;/xmlcatalog&gt;
  307. &lt;/xslt&gt;
  308. </pre>
  309. <h4>Using XSL parameters</h4>
  310. <pre>
  311. &lt;xslt basedir=&quot;doc&quot; destdir=&quot;build/doc&quot;
  312. extension=&quot;.html&quot; style=&quot;style/apache.xsl&quot;&gt;
  313. &lt;param name=&quot;date&quot; expression=&quot;07-01-2000&quot;/&gt;
  314. &lt;/xslt&gt;</pre>
  315. <p>Then if you declare a global parameter &quot;date&quot; with the top-level
  316. element &lt;xsl:param name=&quot;date&quot;/&gt;, the variable
  317. <code>$date</code> will subsequently have the value 07-01-2000.
  318. </p>
  319. <h4>Using output properties</h4>
  320. <pre>
  321. &lt;xslt in=&quot;doc.xml&quot; out=&quot;build/doc/output.xml&quot;
  322. style=&quot;style/apache.xsl&quot;&gt;
  323. &lt;outputproperty name=&quot;method&quot; value=&quot;xml&quot;;/&gt;
  324. &lt;outputproperty name=&quot;standalone&quot; value=&quot;yes&quot;/&gt;
  325. &lt;outputproperty name=&quot;encoding&quot; value=&quot;iso8859_1&quot;/&gt;
  326. &lt;outputproperty name=&quot;indent&quot; value=&quot;yes&quot;/&gt;
  327. &lt;/xslt&gt;
  328. </pre>
  329. <h4>Using factory settings</h4>
  330. <pre>
  331. &lt;xslt in=&quot;doc.xml&quot; out=&quot;build/doc/output.xml&quot;
  332. style=&quot;style/apache.xsl&quot;&gt;
  333. &lt;factory name=&quot;org.apache.xalan.processor.TransformerFactoryImpl&quot;&gt;
  334. &lt;attribute name=&quot;http://xml.apache.org/xalan/features/optimize&quot; value=&quot;true&quot;/&gt;
  335. &lt;/factory&gt;
  336. &lt;/xslt&gt;</pre>
  337. <h4>Using a mapper</h4>
  338. <pre>
  339. &lt;xslt basedir=&quot;in&quot; destdir=&quot;out&quot;
  340. style=&quot;style/apache.xsl&quot;&gt;
  341. &lt;mapper type=&quot;glob&quot; from=&quot;*.xml.en&quot; to=&quot;*.html.en&quot;/&gt;
  342. &lt;/xslt&gt;</pre>
  343. </blockquote>
  344. <hr>
  345. <p align="center">Copyright &copy; 2000-2005 The Apache Software Foundation. All rights
  346. Reserved.</p>
  347. </body>
  348. </html>