<?xml version="1.0"?>
<document>

  <properties>
    <title>Maven Castor Plug-in Tags</title>
    <author email="tma@netspace.net.au">Tim Anderson</author>
  </properties>

  <body>
    <section name="Overview">
      <p>
        This document describes the
        <a href="http://jakarta.apache.org/commons/jelly/tags.html">tags</a>
        that are available when using the Castor Plug-in with Maven.
      </p>
      <p>
        Please refer to the 
        <a href="../../start/integrate.html">Integration</a> document for
        more information on how to integrate these tags into
        your project.
      </p>
    </section>

    <section name="Tags">
      <table>
        <tr><th>Goal</th><th>Description</th></tr>
        <tr>
          <td><a href="#castor:generate">castor:generate</a></td>
          <td>Generate java sources from an XML Schema.</td>
        </tr>
        <tr>
          <td>castor:srcgen</td>
          <td><strong>DEPRECATED</strong>. Use castor:generate instead</td>
        </tr>
      </table>
      
      <subsection name="castor:generate">
        <p>
          The <code>castor:generate</code> target generates java sources
          from an XML Schema (<code>XSD</code> file). <br/>
          Sources are generated in the 
          <a href="properties.html">${maven.castor.dest}</a> directory.<br/>
          Sources are only generated if the input schema is newer than any
          existing generated source.
        </p>
        <table>
          <tr>
            <th>Attribute Name</th><th>Description</th><th>Optional?</th>
          </tr>
          <tr>
            <td>schema</td>
            <td>The path to the XML schema</td>
            <td>No</td>
          </tr>
          <tr>
            <td>package</td>
            <td>The package for the generated source</td>
            <td>Yes</td>
          </tr>
          <tr>
            <td>types</td>
            <td>Sets which type factory to use. This is useful if you want 
                JDK 1.2 collections instead of JDK 1.1, or if you want to pass 
                in your own FieldInfoFactory.<br/>
                If not specified, java.util.Vector will be used for 
                collections.<br/>
                See 
                <a href="http://castor.exolab.org/sourcegen.html#Collection-Types">Collection Types</a> 
                for valid values.
            </td>
            <td>Yes</td>           
          </tr>
          <tr>
            <td>marshal</td>
            <td>
              If 'false', disables generation of the marshalling framework 
              methods (marshal, unmarshal, validate).<br/>
              Defaults to 'true'.
            </td>
            <td>Yes</td>
          </tr>
        </table>
      </subsection>
    </section>
  </body>
</document>