<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Style Task</title>
</head>

<body>

<h2><a name="style">Style</a></h2>
<h3>Description</h3>
<p>Process a set of documents via XSLT.</p>
<p>This is useful for building views of XML based documentation,
or for generating code.</p>
<p><b>Note:</b> This task depends on external libraries not included in the Ant distribution.
See <a href="../install.html#librarydependencies">Library Dependencies</a> for more information.</p>
<p>It is possible to refine the set of files that are being processed. This can be
done with the <i>includes</i>, <i>includesfile</i>, <i>excludes</i>, <i>excludesfile</i> and <i>defaultexcludes</i>
attributes. With the <i>includes</i> or <i>includesfile</i> attribute you specify the files you want to
have included by using patterns. The <i>exclude</i> or <i>excludesfile</i> attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the <i>defaultexcludes</i> attribute, you can specify whether you
want to use default exclusions or not. See the section on <a
href="../dirtasks.html#directorybasedtasks">directory based tasks</a>, on how the
inclusion/exclusion of files works, and how to write patterns.</p>
<p>This task forms an implicit <a href="../CoreTypes/fileset.html">FileSet</a> and supports all 
  attributes of <code>&lt;fileset&gt;</code> (<code>dir</code> becomes <code>basedir</code>) 
  as well as the nested <code>&lt;include&gt;</code>, <code>&lt;exclude&gt;</code> 
  and <code>&lt;patternset&gt;</code> elements.</p>
<p>Style supports the use of a &lt;param&gt; element which is used to pass values 
  to an &lt;xsl:param&gt; declaration.</p>
<p>If you want to use Xalan-J 1 or XSL:P, you also need Ant's optional.jar</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr>
    <td valign="top">basedir</td>
    <td valign="top">where to find the source XML file, default is the
      project's basedir.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">destdir</td>
    <td valign="top">directory in which to store the results.</td>
    <td align="center" valign="top">Yes, unless in and out have been
      specified.</td>
  </tr>
  <tr>
    <td valign="top">extension</td>
    <td valign="top">desired file extension to be used for the targets. If not 
      specified, the default is &quot;.html&quot;.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">style</td>
    <td valign="top">name of the stylesheet to use - given either relative
      to the project's basedir or as an absolute path
      <em><strong>DEPRECATED</strong> - can be specified as a path relative
          to the basedir attribute of this task as well</em>.
    </td>
    <td align="center" valign="top">Yes</td>
  </tr>
  <tr>
    <td valign="top">classpath</td> 
    <td valign="top">the classpath to use when looking up the XSLT
      processor.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">classpathref</td>
    <td valign="top">the classpath to use, given as <a
      href="../using.html#references">reference</a> to a path defined elsewhere.</td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">force</td>
    <td valign="top">Recreate target files, even if they are newer
      than their corresponding source files or the stylesheet.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">processor</td>

    <td valign="top">name of the XSLT processor to use.  Permissible values are
      &quot;trax&quot; for a TraX compliant processor,
      &quot;xslp&quot; for the XSL:P processor, &quot;xalan&quot; for
      the Apache XML Xalan (version 1) processor the name of an
      arbitrary XSLTLiaison class. Defaults to trax, followed by xalan
      and then xslp (in that order). The first one found in your class
      path is the one that is used.

      <em><strong>DEPRECATED</strong> - XSL:P is deprecated and will
      be removed in the next version. Use trax or xalan instead.</em>.
      </td>
    <td align="center" valign="top">No</td>
  </tr>
  <tr>
    <td valign="top">includes</td>
    <td valign="top">comma separated list of patterns of files that must be included. 
      All files are included when omitted.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">includesfile</td>
    <td valign="top">the name of a file. Each line of this file is taken to be 
      an include pattern</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">excludes</td>
    <td valign="top">comma separated list of patterns of files that must be excluded. 
      No files (except default excludes) are excluded when omitted.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">excludesfile</td>
    <td valign="top">the name of a file. Each line of this file is taken to be 
      an exclude pattern</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">defaultexcludes</td>
    <td valign="top">indicates whether default excludes should be used or not
      (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">in</td>
    <td valign="top">specifies a single XML document to be styled. Should be used 
      with the out attribute.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">out</td>
    <td valign="top">specifies the output name for the styled result from the 
      in attribute.</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">outputtype</td>
    <td valign="top">specifies the output method to be used.  Only "xml" is
      guaranteed to be supported by all translators.  Xalan2 supports "xml",
      "html", and "text"</td>
    <td valign="top" align="center">No</td>
  </tr>
  <tr>
    <td valign="top">scanincludeddirectories</td>
    <td valign="top">If any directories are matched by the
      includes/excludes patterns, try to transform all files in these
      directories.  Default is <code>true</code></td>
    <td valign="top" align="center">No</td>
  </tr>
</table>
<h3>Parameters specified as nested elements</h3>
<h4>classpath</h4>
<p>The classpath to load the processor from can be specified via a
nested <code>&lt;classpath&gt;</code>, as well - that is, a 
<a href="../using.html#path">path</a>-like structure.</p>
<h4>param</h4>
<p>Param is used to pass a parameter to the XSL stylesheet.</p>
<h4>Parameters</h4>
<table width="60%" border="1" cellpadding="2" cellspacing="0">
  <tr> 
    <td valign="top"><b>Attribute</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
  </tr>
  <tr> 
    <td valign="top">name</td>
    <td valign="top">Name of the XSL parameter</td>
    <td align="center" valign="top">Yes</td>
  </tr>
  <tr> 
    <td valign="top">expression</td>
    <td valign="top">XSL expression to be placed into the param. To pass a text 
      value into the style sheet it needs to be escaped using single quotes.</td>
    <td align="center" valign="top">Yes</td>
  </tr>
</table>
<h3>Examples</h3>
<blockquote>
  <pre>
&lt;style basedir=&quot;doc&quot; destdir=&quot;build/doc&quot;
       extension=&quot;.html&quot; style=&quot;style/apache.xsl&quot;/&gt;</pre>
  <h4>Using XSL parameters</h4>
  <pre>&lt;style basedir=&quot;doc&quot; destdir=&quot;build/doc&quot;
		extension=&quot;.html&quot; style=&quot;style/apache.xsl&quot;&gt;
	&lt;param name=&quot;date&quot; expression=&quot;07-01-2000&quot;/&gt;
  &lt;/style&gt;</pre>

  <p>Then if you declare a global parameter &quot;date&quot; with the top-level
  element &lt;xsl:param name=&quot;date&quot;/&gt;, the variable
  <code>$date</code> will subsequently have the value 07-01-2000.
  </p>
 </blockquote>
<hr>
<p align="center">Copyright &copy; 2001-2002 Apache Software Foundation. All rights
Reserved.</p>

</body>
</html>