<?xml version="1.0" encoding="utf-8"?> <!-- -File $Id: cf64bd85a79d1a3be75c42eab1ac6100a05f3a30 $ -License GNU LGPL (http://www.gnu.org/copyleft/lgpl.html) -Author Johan Persson, johanp@aditus.nu --> <!-- ================================================================================== Relax-NG XML Schema For Phing build XML scripts. (See http://www.relaxng.org) The purpose of this schema is to facilitate the writing of correct Phing build scripts in a XML and schema aware editor. The schema will help the editor verify the input as well as providing tag completion making it easier and faster to write correct Phing build scripts. It can also be used together with one of the many existing R-NG validators to validate a Phing script for adherence to the Phing syntax, like a "lint" for Phing scripts. Note however that it is actually impossible to write a generic schema for Phing since it is possible to define new elements dynamically which means that the grammar can never be complete. However, in a particular setup only a few custom tasks is usually used. This is easy to add att the end of this schema so it can be extended to include those additional elements as well. ================================================================================== --> <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <ref name="project"/> </start> <!-- =========================================================================================================== Entry point "project" element =========================================================================================================== --> <define name="project"> <element name="project"> <interleave> <attribute name="name"/> <optional> <attribute name="basedir"/> </optional> <attribute name="default"/> <optional> <attribute name="description"/> </optional> <optional> <attribute name="phingVersion"/> </optional> </interleave> <interleave> <zeroOrMore> <ref name="target"/> </zeroOrMore> <ref name="coretasks"/> <ref name="optionaltasks"/> <ref name="customtasks"/> <ref name="coretypes"/> </interleave> </element> </define> <!-- =========================================================================================================== Macros for all built in tasks (both core and optional) as well as for core complex types =========================================================================================================== --> <define name="coretypes"> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="filelist"/> <ref name="path"/> <ref name="classpath"/> <ref name="excludes"/> </choice> </zeroOrMore> </define> <define name="optionaltasks"> <zeroOrMore> <choice> <ref name="apigen"/> <ref name="coverage-merger"/> <ref name="coverage-report"/> <ref name="coverage-setup"/> <ref name="dbdeploy"/> <ref name="exportproperties"/> <ref name="filterchain"/> <ref name="ftpdeploy"/> <ref name="gitinit"/> <ref name="gitclone"/> <ref name="gitgc"/> <ref name="gitbranch"/> <ref name="gitfetch"/> <ref name="gitcheckout"/> <ref name="gitmerge"/> <ref name="gitpull"/> <ref name="gitpush"/> <ref name="gittag"/> <ref name="gitlog"/> <ref name="httpget"/> <ref name="httprequest"/> <ref name="headfilter"/> <ref name="iconvfilter"/> <ref name="ioncubeencoder"/> <ref name="ioncubelicense"/> <ref name="jsllint"/> <ref name="jsmin"/> <ref name="mail"/> <ref name="linecontains"/> <ref name="pdosqlexec"/> <ref name="pearpkg"/> <ref name="pearpkg2"/> <ref name="phpcodesniffer"/> <ref name="phpdepend"/> <ref name="phpdoc"/> <ref name="phpdocumentor"/> <ref name="phpdocumentorexternal"/> <ref name="phplint"/> <ref name="linecontainsregexp"/> <ref name="phpunit"/> <ref name="phkpackage"/> <ref name="phpmd"/> <ref name="prefixlines"/> <ref name="phpunitreport"/> <ref name="rst"/> <ref name="s3put"/> <ref name="s3get"/> <ref name="scp"/> <ref name="ssh"/> <ref name="simpletest"/> <ref name="striplinecomments"/> <ref name="stripphpcomments"/> <ref name="symlink"/> <ref name="svncheckout"/> <ref name="svnexport"/> <ref name="svncommit"/> <ref name="svncopy"/> <ref name="svninfo"/> <ref name="svnlastrevision"/> <ref name="svnlog"/> <ref name="svnlist"/> <ref name="svnupdate"/> <ref name="svnswitch"/> <ref name="tabtospace"/> <ref name="tabtospaces"/> <ref name="tailfilter"/> <ref name="tar"/> <ref name="tidyfilter"/> <ref name="untar"/> <ref name="unzip"/> <ref name="version"/> <ref name="xincludefilter"/> <ref name="xsltfilter"/> <ref name="xmllint"/> <ref name="xmlproperty"/> <ref name="zendcodeanalyzer"/> <ref name="zendguardencode"/> <ref name="zendguardlicense"/> <ref name="zip"/> <ref name="contains"/> <ref name="pharpackage"/> <ref name="filehash"/> <ref name="filesize"/> </choice> </zeroOrMore> </define> <define name="customtasks"> <zeroOrMore> <choice> <ref name="highlightsrc"/> </choice> </zeroOrMore> </define> <define name="coretasks"> <zeroOrMore> <choice> <ref name="adhoc"/> <ref name="adhoc-task"/> <ref name="adhoc-type"/> <ref name="append"/> <ref name="available"/> <ref name="phingcall"/> <ref name="phpeval"/> <ref name="condition"/> <ref name="copy"/> <ref name="cvs"/> <ref name="cvspass"/> <ref name="chmod"/> <ref name="chown"/> <ref name="delete"/> <ref name="echo"/> <ref name="warn"/> <ref name="exec"/> <ref name="exit"/> <ref name="foreach"/> <ref name="if"/> <ref name="includepath"/> <ref name="input"/> <ref name="mkdir"/> <ref name="move"/> <ref name="phing"/> <ref name="php"/> <ref name="property"/> <ref name="propertyprompt"/> <ref name="reflexive"/> <ref name="resolvepath"/> <ref name="taskdef"/> <ref name="touch"/> <ref name="tstamp"/> <ref name="typedef"/> <ref name="uptodate"/> <ref name="xslt"/> <ref name="loadfile"/> <ref name="import"/> </choice> </zeroOrMore> </define> <!-- =========================================================================================================== Target element. =========================================================================================================== --> <define name="target"> <element name="target"> <!-- Attributes for target element --> <interleave> <attribute name="name"/> <optional> <attribute name="depends"/> </optional> <optional> <attribute name="if"/> </optional> <optional> <attribute name="unless"/> </optional> <optional> <attribute name="description"/> </optional> </interleave> <interleave> <ref name="coretasks"/> <ref name="coretypes"/> <ref name="optionaltasks"/> <ref name="customtasks"/> </interleave> </element> </define> <!-- =========================================================================================================== Core types =========================================================================================================== --> <define name="filelist"> <element name="filelist"> <interleave> <attribute name="dir"/> <choice> <attribute name="files"/> <attribute name="listfile"/> </choice> </interleave> </element> </define> <define name="class"> <element name="class"> <attribute name="name"/> </element> </define> <define name="method"> <element name="method"> <attribute name="name"/> </element> </define> <define name="file"> <element name="file"> <attribute name="name"/> </element> </define> <define name="excludes"> <element name="excludes"> <oneOrMore> <choice> <ref name="class"/> <ref name="method"/> <ref name="file"/> </choice> </oneOrMore> </element> </define> <define name="fileset"> <element name="fileset"> <interleave> <choice> <attribute name="refid"> <data type="IDREF"/> </attribute> <group> <attribute name="dir"/> <optional> <choice> <attribute name="id"> <data type="ID"/> </attribute> <attribute name="refid"> <data type="IDREF"/> </attribute> </choice> </optional> <zeroOrMore> <choice> <ref name="include"/> <ref name="exclude"/> </choice> </zeroOrMore> </group> </choice> </interleave> </element> </define> <define name="path"> <element name="path"> <optional> <attribute name="id"> <data type="ID"/> </attribute> <optional> <attribute name="dir"/> <attribute name="path"/> </optional> </optional> <choice> <text/> <zeroOrMore> <choice> <ref name="pathelement"/> <ref name="fileset"/> <ref name="dirset"/> </choice> </zeroOrMore> </choice> </element> </define> <define name="classpath"> <element name="classpath"> <attribute name="refid"> <data type="IDREF"/> </attribute> </element> </define> <define name="projdocfileset"> <element name="projdocfileset"> <attribute name="dir"/> <oneOrMore> <choice> <ref name="include"/> <ref name="exclude"/> </choice> </oneOrMore> </element> </define> <define name="dirset"> <element name="dirset"> <interleave> <optional> <attribute name="includes"/> </optional> <optional> <attribute name="includesfile"/> </optional> <optional> <attribute name="excludes"/> </optional> <optional> <attribute name="excludesfile"/> </optional> <optional> <attribute name="casesensitive" a:defaultValue="yes"> <choice> <value>yes</value> <value>no</value> </choice> </attribute> </optional> <optional> <attribute name="followsymlinks" a:defaultValue="yes"> <choice> <value>yes</value> <value>no</value> </choice> </attribute> </optional> </interleave> <zeroOrMore> <choice> <ref name="include"/> <ref name="exclude"/> </choice> </zeroOrMore> </element> </define> <define name="include"> <element name="include"> <attribute name="name"/> </element> </define> <define name="exclude"> <element name="exclude"> <attribute name="name"/> </element> </define> <define name="pathelement"> <element name="pathelement"> <attribute name="dir"/> </element> </define> <define name="arg"> <element name="arg"> <choice> <attribute name="value"/> <attribute name="file"/> <attribute name="path"/> <attribute name="line"/> </choice> </element> </define> <!-- =========================================================================================================== Core Tasks =========================================================================================================== --> <define name="adhoc"> <element name="adhoc"> <text/> </element> </define> <define name="adhoc-task"> <element name="adhoc-task"> <attribute name="name"/> </element> </define> <define name="adhoc-type"> <element name="adhoc-type"> <attribute name="name"/> </element> </define> <define name="append"> <element name="append"> <attribute name="destFile"/> <optional> <attribute name="text"/> </optional> <interleave> <optional> <choice> <attribute name="file"/> <oneOrMore> <interleave> <optional> <ref name="fileset"/> </optional> <optional> <ref name="filelist"/> </optional> </interleave> </oneOrMore> </choice> </optional> <optional> <ref name="filterchain"/> </optional> </interleave> </element> </define> <define name="available"> <element name="available"> <interleave> <attribute name="property"/> <optional> <attribute name="value"/> </optional> <choice> <attribute name="file"/> <attribute name="resource"/> </choice> <optional> <attribute name="type"/> </optional> <optional> <attribute name="filepath"/> </optional> <optional> <attribute name="followSymlinks"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="condition"> <element name="condition"> <attribute name="property"/> <optional> <attribute name="value"/> </optional> <optional> <choice> <ref name="or"/> <ref name="and"/> </choice> </optional> </element> </define> <define name="delete"> <element name="delete"> <interleave> <optional> <choice> <attribute name="file"/> <attribute name="dir"/> </choice> </optional> <optional> <attribute name="verbose"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="failonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="includeemptydirs"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <define name="warn"> <element name="warn"> <interleave> <choice> <attribute name="msg"/> <attribute name="message"/> </choice> <optional> <attribute name="file"/> </optional> <optional> <attribute name="append"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="level"/> </optional> </interleave> </element> </define> <define name="echo"> <element name="echo"> <interleave> <choice> <attribute name="msg"/> <attribute name="message"/> <text/> <ref name="fileset"/> </choice> <optional> <attribute name="file"/> </optional> <optional> <attribute name="append"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="level"/> </optional> </interleave> </element> </define> <define name="exec"> <element name="exec"> <interleave> <oneOrMore> <choice> <attribute name="command"/> <attribute name="executable"/> </choice> </oneOrMore> <optional> <attribute name="passthru"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="checkreturn"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="dir"/> </optional> <optional> <attribute name="os"/> </optional> <optional> <attribute name="escape"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="spawn"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="returnProperty"/> </optional> <optional> <attribute name="outputProperty"/> </optional> <optional> <attribute name="logoutput"/> </optional> <optional> <attribute name="output"/> </optional> <optional> <attribute name="error"/> </optional> <optional> <attribute name="level"> <choice> <value>error</value> <value>warning</value> <value>info</value> <value>verbose</value> <value>debug</value> </choice> </attribute> </optional> </interleave> <zeroOrMore> <ref name="arg"/> </zeroOrMore> </element> </define> <define name="copy"> <element name="copy"> <interleave> <choice> <attribute name="file"/> <oneOrMore> <choice> <ref name="fileset"/> <ref name="filelist"/> </choice> </oneOrMore> </choice> <choice> <attribute name="tofile"/> <attribute name="todir"/> </choice> <optional> <attribute name="overwrite"> <data type="boolean"/> </attribute> </optional> <optional> <choice> <attribute name="tstamp"> <data type="boolean"/> </attribute> <attribute name="preservelastmodified"> <data type="boolean"/> </attribute> </choice> </optional> <optional> <attribute name="includeemptydirs"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="mode"> <data type="int"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <choice> <ref name="mapper"/> <ref name="filterchain"/> </choice> </zeroOrMore> </element> </define> <define name="argument"> <element name="argument"> <choice> <attribute name="value"/> <attribute name="line"/> </choice> </element> </define> <define name="commandline"> <element name="commandline"> <attribute name="executable"/> <oneOrMore> <ref name="argument"/> </oneOrMore> </element> </define> <define name="cvs"> <element name="cvs"> <interleave> <attribute name="dest"/> <attribute name="modules"/> <optional> <attribute name="cvsRoot"/> </optional> <optional> <attribute name="cvsRsh"/> </optional> <optional> <attribute name="port"> <data type="int"/> </attribute> </optional> <optional> <attribute name="passfile"/> </optional> <optional> <attribute name="tag"/> </optional> <optional> <attribute name="date"/> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="noexec"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="setfailonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="compression"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="compressionlevel"> <data type="unsignedByte"/> </attribute> </optional> <optional> <attribute name="output"/> </optional> <optional> <attribute name="error"/> </optional> <optional> <attribute name="command"/> </optional> </interleave> </element> </define> <define name="cvspass"> <element name="cvspass"> <interleave> <attribute name="password"/> <attribute name="cvsRoot"/> <optional> <attribute name="passFile"/> </optional> </interleave> </element> </define> <define name="exit"> <element name="exit"> <interleave> <optional> <choice> <attribute name="message"/> <attribute name="msg"/> </choice> </optional> <optional> <attribute name="if"/> </optional> <optional> <attribute name="unless"/> </optional> <text/> </interleave> </element> </define> <define name="foreach"> <element name="foreach"> <interleave> <attribute name="target"/> <attribute name="param"/> <optional> <attribute name="list"/> </optional> <optional> <attribute name="delimiter"/> </optional> </interleave> <interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> <zeroOrMore> <ref name="mapper"/> </zeroOrMore> </interleave> </element> </define> <define name="if"> <element name="if"> <choice> <ref name="not"/> <ref name="equals"/> <ref name="or"/> <ref name="and"/> <ref name="isfalse"/> <ref name="istrue"/> <ref name="isset"/> <ref name="contains_cond"/> <ref name="referenceexists"/> </choice> <ref name="then"/> <zeroOrMore> <ref name="elseif"/> </zeroOrMore> <optional> <ref name="else"/> </optional> </element> </define> <define name="not"> <element name="not"> <choice> <ref name="equals"/> <ref name="or"/> <ref name="and"/> <ref name="isfalse"/> <ref name="istrue"/> <ref name="isset"/> <ref name="contains_cond"/> <ref name="referenceexists"/> </choice> </element> </define> <define name="istrue"> <element name="istrue"> <attribute name="value"/> </element> </define> <define name="isset"> <element name="isset"> <attribute name="property"/> </element> </define> <define name="isfalse"> <element name="isfalse"> <attribute name="value"/> </element> </define> <define name="referenceexists"> <element name="referenceexists"> <attribute name="ref"/> </element> </define> <define name="contains_cond"> <element name="contains"> <interleave> <attribute name="string"/> <attribute name="substring"/> <optional> <attribute name="casesensitive"/> </optional> </interleave> </element> </define> <define name="equals"> <element name="equals"> <interleave> <attribute name="arg1"/> <attribute name="arg2"/> <optional> <attribute name="casesensitive"/> </optional> <optional> <attribute name="trim"/> </optional> </interleave> </element> </define> <define name="then"> <element name="then"> <interleave> <ref name="coretasks"/> <ref name="optionaltasks"/> <ref name="customtasks"/> <ref name="coretypes"/> </interleave> </element> </define> <define name="elseif"> <choice> <ref name="equals"/> <ref name="or"/> <ref name="and"/> <ref name="isfalse"/> <ref name="istrue"/> <ref name="isset"/> <ref name="contains_cond"/> <ref name="referenceexists"/> </choice> <interleave> <ref name="coretasks"/> <ref name="optionaltasks"/> <ref name="customtasks"/> <ref name="coretypes"/> </interleave> </define> <define name="else"> <element name="else"> <interleave> <ref name="coretasks"/> <ref name="optionaltasks"/> <ref name="customtasks"/> <ref name="coretypes"/> </interleave> </element> </define> <define name="includepath"> <element name="includepath"> <choice> <attribute name="classpath"/> <attribute name="classpathref"/> </choice> </element> </define> <define name="or"> <element name="or"> <oneOrMore> <interleave> <ref name="property"/> <ref name="and"/> <ref name="isfalse"/> <ref name="istrue"/> <ref name="isset"/> <ref name="contains_cond"/> <ref name="referenceexists"/> </interleave> </oneOrMore> </element> </define> <define name="and"> <element name="and"> <oneOrMore> <interleave> <ref name="property"/> <ref name="or"/> <ref name="isfalse"/> <ref name="istrue"/> <ref name="isset"/> <ref name="contains_cond"/> <ref name="referenceexists"/> </interleave> </oneOrMore> </element> </define> <define name="input"> <element name="input"> <interleave> <attribute name="propertyName"/> <attribute name="message"/> <optional> <attribute name="defaultValue"/> </optional> <optional> <attribute name="promptChar"/> </optional> <optional> <attribute name="validArgs"/> </optional> </interleave> </element> </define> <define name="mkdir"> <element name="mkdir"> <attribute name="dir"/> <optional> <attribute name="mode"> <data type="int"/> </attribute> </optional> </element> </define> <define name="move"> <element name="move"> <interleave> <choice> <attribute name="file"/> <oneOrMore> <choice> <ref name="fileset"/> <ref name="filelist"/> </choice> </oneOrMore> </choice> <choice> <attribute name="tofile"/> <attribute name="todir"/> </choice> <optional> <attribute name="overwrite"> <data type="boolean"/> </attribute> </optional> <optional> <choice> <attribute name="tstamp"> <data type="boolean"/> </attribute> <attribute name="preservelastmodified"> <data type="boolean"/> </attribute> </choice> </optional> <optional> <attribute name="includeemptydirs"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="mode"> <data type="int"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <choice> <ref name="mapper"/> <ref name="filterchain"/> </choice> </zeroOrMore> </element> </define> <define name="phing"> <element name="phing"> <interleave> <attribute name="phingfile"/> <optional> <attribute name="inheritAll"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="inheritRefs"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="dir"/> </optional> <optional> <ref name="property"/> </optional> <optional> <attribute name="target"/> </optional> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <define name="phingcall"> <element name="phingcall"> <attribute name="target"/> <zeroOrMore> <choice> <ref name="property"/> <ref name="param"/> </choice> </zeroOrMore> </element> </define> <define name="phpeval"> <element name="phpeval"> <interleave> <choice> <attribute name="function"/> <attribute name="expression"/> </choice> <optional> <attribute name="class"/> </optional> <optional> <attribute name="returnProperty"/> </optional> <optional> <attribute name="level"> <choice> <value>error</value> <value>warning</value> <value>info</value> <value>verbose</value> <value>debug</value> </choice> </attribute> </optional> </interleave> </element> </define> <define name="php"> <element name="php"> <interleave> <choice> <attribute name="function"/> <attribute name="expression"/> </choice> <optional> <attribute name="class"/> </optional> <optional> <attribute name="returnProperty"/> </optional> </interleave> <zeroOrMore> <ref name="param"/> </zeroOrMore> </element> </define> <define name="property"> <element name="property"> <interleave> <choice> <group> <attribute name="name"/> <attribute name="value"/> </group> <attribute name="file"/> <optional> <attribute name="environment"/> </optional> </choice> <optional> <attribute name="override"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="prefix"/> </optional> <optional> <attribute name="refid"/> </optional> <optional> <attribute name="fallback"/> </optional> </interleave> </element> </define> <define name="propertyprompt"> <element name="propertyprompt"> <interleave> <attribute name="propertyName"/> <attribute name="promptText"/> <optional> <attribute name="promptCharacter"/> </optional> <optional> <attribute name="defaultValue"/> </optional> <optional> <attribute name="useExistingValue"/> </optional> </interleave> </element> </define> <define name="reflexive"> <element name="reflexive"> <choice> <attribute name="file"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <zeroOrMore> <ref name="filterchain"/> </zeroOrMore> </element> </define> <define name="resolvepath"> <element name="resolvepath"> <interleave> <attribute name="file"/> <attribute name="propertyName"/> <optional> <attribute name="dir"/> </optional> </interleave> </element> </define> <define name="symlink"> <element name="symlink"> <choice> <attribute name="target"/> <ref name="fileset"/> </choice> <attribute name="link"/> <optional> <attribute name="overwrite"> <data type="boolean"/> </attribute> </optional> </element> </define> <define name="taskdef"> <element name="taskdef"> <interleave> <choice> <group> <attribute name="classname"/> <attribute name="name"/> </group> <attribute name="file"/> </choice> <optional> <attribute name="classpath"/> </optional> <optional> <attribute name="classpathref"/> </optional> </interleave> </element> </define> <define name="touch"> <element name="touch"> <interleave> <choice> <attribute name="file"/> <ref name="fileset"/> </choice> <optional> <attribute name="datetime"/> </optional> <optional> <attribute name="millis"> <data type="int"/> </attribute> </optional> </interleave> </element> </define> <define name="tstamp"> <element name="tstamp"> <interleave> <optional> <attribute name="prefix"/> </optional> <optional> <element name="format"> <interleave> <attribute name="property"/> <attribute name="pattern"/> <optional> <attribute name="locale"/> </optional> </interleave> </element> </optional> </interleave> </element> </define> <define name="typedef"> <element name="typedef"> <interleave> <attribute name="classname"/> <attribute name="name"/> <optional> <attribute name="classpath"/> </optional> <optional> <attribute name="classpathref"/> </optional> </interleave> <zeroOrMore> <ref name="classpath"/> </zeroOrMore> </element> </define> <define name="uptodate"> <element name="uptodate"> <interleave> <attribute name="property"/> <optional> <attribute name="value"/> </optional> <choice> <attribute name="srcfile"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <choice> <attribute name="targetfile"/> <oneOrMore> <ref name="mapper"/> </oneOrMore> </choice> </interleave> </element> </define> <define name="xslt"> <element name="xslt"> <interleave> <attribute name="style"/> <choice> <attribute name="file"/> <oneOrMore> <choice> <ref name="fileset"/> <ref name="filelist"/> </choice> </oneOrMore> </choice> <choice> <attribute name="tofile"/> <attribute name="todir"/> </choice> <optional> <attribute name="overwrite"> <data type="boolean"/> </attribute> </optional> <optional> <choice> <attribute name="tstamp"> <data type="boolean"/> </attribute> <attribute name="preservelastmodified"> <data type="boolean"/> </attribute> </choice> </optional> <optional> <attribute name="includeemptydirs"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="mode"> <data type="int"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <choice> <ref name="mapper"/> <ref name="filterchain"/> <ref name="param"/> </choice> </zeroOrMore> </element> </define> <define name="chmod"> <element name="chmod"> <interleave> <choice> <attribute name="file"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <attribute name="mode"/> <optional> <attribute name="failonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="verbose"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="chown"> <element name="chown"> <interleave> <choice> <attribute name="file"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <attribute name="user"/> <optional> <attribute name="failonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="verbose"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="loadfile"> <element name="loadfile"> <interleave> <attribute name="property"/> <attribute name="file"/> </interleave> <zeroOrMore> <ref name="filterchain"/> </zeroOrMore> </element> </define> <define name="import"> <element name="import"> <attribute name="file"/> <optional> <attribute name="optional"> <data type="boolean"/> </attribute> </optional> </element> </define> <!-- =========================================================================================================== Optional Tasks =========================================================================================================== --> <!-- ========================================= ApiGenTask ========================================= --> <define name="apigen"> <element name="apigen"> <interleave> <optional> <attribute name="executable"/> </optional> <optional> <attribute name="config"/> </optional> <optional> <attribute name="source"/> </optional> <optional> <attribute name="destination"/> </optional> <optional> <attribute name="extensions"/> </optional> <optional> <attribute name="exclude"/> </optional> <optional> <attribute name="skipdocpath"/> </optional> <optional> <attribute name="skipdocprefix"/> </optional> <optional> <attribute name="charset"/> </optional> <optional> <attribute name="main"/> </optional> <optional> <attribute name="title"/> </optional> <optional> <attribute name="baseurl"/> </optional> <optional> <attribute name="googlecseid"/> </optional> <optional> <attribute name="googlecselabel"/> </optional> <optional> <attribute name="googleanalytics"/> </optional> <optional> <attribute name="templateconfig"/> </optional> <optional> <attribute name="allowedhtml"/> </optional> <optional> <attribute name="groups"/> </optional> <optional> <attribute name="autocomplete"/> </optional> <optional> <attribute name="accesslevels"/> </optional> <optional> <attribute name="internal"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="php"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="tree"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="deprecated"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="todo"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="sourcecode"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="download"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="report"/> </optional> <optional> <attribute name="wipeout"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="updatecheck"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="debug"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= CoverageMergerTask ========================================= --> <define name="coverage-merger"> <element name="coverage-merger"> <oneOrMore> <ref name="fileset"/> </oneOrMore> </element> </define> <!-- ========================================= CoverageReportTask ========================================= --> <define name="coverage-report"> <element name="coverage-report"> <attribute name="outfile"/> <optional> <attribute name="classpath"/> </optional> <optional> <attribute name="geshipath"/> </optional> <optional> <attribute name="geshilanguagespath"/> </optional> <ref name="report"/> </element> </define> <define name="report"> <element name="report"> <attribute name="todir"/> <attribute name="styledir"/> <optional> <attribute name="title"/> </optional> <optional> <attribute name="usesorttable"/> </optional> </element> </define> <!-- ========================================= CoverageSetupTask ========================================= --> <define name="coverage-setup"> <element name="coverage-setup"> <interleave> <attribute name="database"/> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="filelist"/> <ref name="classpath"/> </choice> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= CoverageThresholdTask ========================================= --> <define name="coverage-threshold"> <element name="coverage-threshold"> <interleave> <optional> <attribute name="database"> <data type="string"/> </attribute> </optional> <optional> <attribute name="perProject"> <data type="int"/> </attribute> </optional> <optional> <attribute name="perClass"> <data type="int"/> </attribute> </optional> <optional> <attribute name="perMethod"> <data type="int"/> </attribute> </optional> <optional> <attribute name="verbose"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="classpath"/> <ref name="excludes"/> </zeroOrMore> </element> </define> <!-- ========================================= DbDeployTask ========================================= --> <define name="dbdeploy"> <element name="dbdeploy"> <interleave> <attribute name="url"/> <attribute name="dir"/> <optional> <attribute name="userid"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="outputfile"/> </optional> <optional> <attribute name="undooutputfile"/> </optional> <optional> <attribute name="deltaset"/> </optional> <optional> <attribute name="lastchangetoapply"> <data type="int"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= ExportPropertiesTask ========================================= --> <define name="exportproperties"> <element name="exportproperties"> <interleave> <attribute name="targetfile"/> <optional> <attribute name="disallowedpropertyprefixes"/> </optional> </interleave> </element> </define> <!-- ========================================= FileHashTask ========================================= --> <define name="filehash"> <element name="filehash"> <interleave> <attribute name="file"/> <optional> <attribute name="hashtype"> <choice> <value>0</value> <value>1</value> </choice> </attribute> </optional> <optional> <attribute name="propertyname"/> </optional> </interleave> </element> </define> <!-- ========================================= FileSizeTask ========================================= --> <define name="filesize"> <element name="filesize"> <interleave> <attribute name="file"/> <optional> <attribute name="propertyname"/> </optional> </interleave> </element> </define> <!-- ========================================= git Manipulation tasks ========================================= --> <define name="gitinit"> <element name="gitinit"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="bare"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitclone"> <element name="gitclone"> <interleave> <attribute name="repository"/> <attribute name="targetpath"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="bare"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitgc"> <element name="gitgc"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="aggresive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="auto"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="noprune"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="prune"/> </optional> </interleave> </element> </define> <define name="gitbranch"> <element name="gitbranch"> <interleave> <attribute name="repository"/> <attribute name="branchname"/> <optional> <attribute name="newbranch"/> </optional> <optional> <attribute name="startpoint"/> </optional> <optional> <attribute name="setupstream"/> </optional> <optional> <attribute name="track"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="notrack"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="move"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="forcemove"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="delete"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="forcedelete"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="gitpath"/> </optional> </interleave> </element> </define> <define name="gitfetch"> <element name="gitfetch"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="source"/> </optional> <optional> <attribute name="refspec"/> </optional> <optional> <attribute name="group"/> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="all"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="keep"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="prune"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="tags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="notags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitcheckout"> <element name="gitcheckout"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="forcecreate"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="create"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="merge"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="track"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="notrack"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitmerge"> <element name="gitmerge"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="remote"/> </optional> <optional> <attribute name="message"/> </optional> <optional> <attribute name="strategy"/> </optional> <optional> <attribute name="strategyoption"/> </optional> <optional> <attribute name="commit"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="nocommit"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="fastforwardcommit"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitpull"> <element name="gitpull"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="all"/> </optional> <optional> <attribute name="source"/> </optional> <optional> <attribute name="refspec"/> </optional> <optional> <attribute name="strategy"/> </optional> <optional> <attribute name="strategyoption"/> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="append"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="keepfiles"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="notags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="tags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="norebase"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="rebase"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitpush"> <element name="gitpush"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="all"/> </optional> <optional> <attribute name="destination"/> </optional> <optional> <attribute name="refspec"/> </optional> <optional> <attribute name="mirror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="delete"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="tags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gittag"> <element name="gittag"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="message"/> </optional> <optional> <attribute name="name"/> </optional> <optional> <attribute name="commit"/> </optional> <optional> <attribute name="object"/> </optional> <optional> <attribute name="pattern"/> </optional> <optional> <attribute name="outputproperty"/> </optional> <optional> <attribute name="file"/> </optional> <optional> <attribute name="num"> <data type="int"/> </attribute> </optional> <optional> <attribute name="contains"/> </optional> <optional> <attribute name="keysign"/> </optional> <optional> <attribute name="verify"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="sign"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="list"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="delete"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="annotate"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <define name="gitlog"> <element name="gitlog"> <interleave> <attribute name="repository"/> <optional> <attribute name="gitpath"/> </optional> <optional> <attribute name="outputproperty"/> </optional> <optional> <attribute name="paths"/> </optional> <optional> <attribute name="format"/> </optional> <optional> <attribute name="date"/> </optional> <optional> <attribute name="since"/> </optional> <optional> <attribute name="until"/> </optional> <optional> <attribute name="stat"/> </optional> <optional> <attribute name="namestatus"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="maxcount"> <data type="int"/> </attribute> </optional> <optional> <attribute name="nomerges"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= Http manipulation ========================================= --> <define name="httpget"> <element name="httpget"> <interleave> <attribute name="url"/> <attribute name="dir"/> <optional> <attribute name="filename"/> </optional> </interleave> </element> </define> <define name="header"> <element name="header"> <attribute name="name"/> <attribute name="val"/> </element> </define> <define name="httprequest"> <element name="httprequest"> <interleave> <attribute name="url"/> <optional> <attribute name="responseregex"/> </optional> <optional> <attribute name="authuser"/> </optional> <optional> <attribute name="authpassword"/> </optional> <optional> <attribute name="authschema"/> </optional> <optional> <attribute name="verbose"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="observerevents"/> </optional> <zeroOrMore> <ref name="config"/> </zeroOrMore> <zeroOrMore> <ref name="header"/> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= IoncubeEncoderTask ========================================= --> <define name="ioncubeencoder"> <element name="ioncubeencoder"> <interleave> <attribute name="ignore"/> <attribute name="fromdir"/> <attribute name="todir"/> <optional> <attribute name="allowedserver"/> </optional> <optional> <attribute name="binary"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="copy"/> </optional> <optional> <attribute name="encode"/> </optional> <optional> <attribute name="encrypt"/> </optional> <optional> <attribute name="expirein"/> </optional> <optional> <attribute name="expireon"/> </optional> <optional> <attribute name="ioncubepath"/> </optional> <optional> <attribute name="keep"/> </optional> <optional> <attribute name="licensepath"/> </optional> <optional> <attribute name="nodocomments"/> </optional> <optional> <attribute name="obfuscation-key"/> </optional> <optional> <attribute name="obfuscate"/> </optional> <optional> <attribute name="optimize"/> </optional> <optional> <attribute name="passphrase"/> </optional> <optional> <attribute name="phpversion"> <data type="int"/> </attribute> </optional> <optional> <attribute name="targetoption"/> </optional> <optional> <attribute name="withoutruntimeloadersupport"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="noshortopentags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="callbackfile"/> </optional> <optional> <attribute name="obfuscationexclusionfile"/> </optional> <optional> <attribute name="ignoredeprecatedwarnings"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignorestrictwarnings"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="allowencodingintosource"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="messageifnoloader"/> </optional> <optional> <attribute name="actionifnoloader"/> </optional> <optional> <attribute name="showcommandline"> <data type="boolean"/> </attribute> </optional> </interleave> <optional> <ref name="comment"/> </optional> </element> </define> <!-- ========================================= IoncubeLicenseTask ========================================= --> <define name="ioncubelicense"> <element name="ioncubelicense"> <interleave> <optional> <attribute name="licensepath"/> </optional> <optional> <attribute name="ioncubepath"/> </optional> <optional> <attribute name="passphrase"/> </optional> <optional> <attribute name="allowedserver"/> </optional> <optional> <attribute name="expirein"/> </optional> <optional> <attribute name="expireon"/> </optional> </interleave> <optional> <ref name="comment"/> </optional> </element> </define> <!-- ========================================= JslLintTask ========================================= --> <define name="jsllint"> <element name="jsllint"> <interleave> <choice> <attribute name="executable"/> </choice> <choice> <attribute name="file"/> <ref name="fileset"/> </choice> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="showwarnings"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="cachefile"/> </optional> <optional> <attribute name="conffile"/> </optional> <optional> <attribute name="tofile"/> </optional> </interleave> <ref name="fileset"/> </element> </define> <!-- ========================================= JsMinTask ========================================= --> <define name="jsmin"> <element name="jsmin"> <interleave> <attribute name="targetdir"/> <optional> <attribute name="suffix"/> </optional> <optional> <attribute name="failonerror"> <data type="boolean"/> </attribute> </optional> </interleave> <oneOrMore> <ref name="fileset"/> </oneOrMore> </element> </define> <!-- ========================================= MailTask ========================================= --> <define name="mail"> <element name="mail"> <interleave> <attribute name="from"/> <attribute name="tolist"/> <optional> <attribute name="message"/> </optional> <optional> <attribute name="subject"/> </optional> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= PatchTask ========================================= --> <define name="patch"> <element name="patch"> <interleave> <attribute name="patchfile"/> <optional> <attribute name="originalfile"/> </optional> <optional> <attribute name="destfile"/> </optional> <optional> <attribute name="backups"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="reverse"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignorewhitespace"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="strip"> <data type="int"/> </attribute> </optional> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="dir"/> </optional> </interleave> </element> </define> <!-- ========================================= PDOSQLExecTask ========================================= --> <define name="pdosqlexec"> <element name="pdosqlexec"> <interleave> <attribute name="url"/> <optional> <attribute name="userid"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="encoding"/> </optional> <optional> <attribute name="src"/> </optional> <optional> <attribute name="onerror"/> </optional> <optional> <attribute name="delimiter"/> </optional> <optional> <attribute name="delimitertype"/> </optional> <optional> <attribute name="autocommit"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> <zeroOrMore> <ref name="transaction"/> </zeroOrMore> <zeroOrMore> <ref name="formatter"/> </zeroOrMore> </element> </define> <define name="transaction"> <element name="transaction"> <optional> <attribute name="tsrcfile"/> </optional> </element> </define> <define name="formatter"> <element name="formatter"> <interleave> <choice> <attribute name="type"/> <attribute name="classname"/> </choice> <optional> <attribute name="usefile"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="outfile"/> </optional> <optional> <attribute name="output"/> </optional> <optional> <attribute name="showheaders"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="coldelim"/> </optional> <optional> <attribute name="rowdelim"/> </optional> <optional> <attribute name="encoding"/> </optional> <optional> <attribute name="formatoutput"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="todir"/> </optional> </interleave> <zeroOrMore> <ref name="param"/> </zeroOrMore> </element> </define> <!-- ========================================= PearPackageTask ========================================= --> <define name="pearpkg"> <element name="pearpkg"> <interleave> <attribute name="name"/> <attribute name="dir"/> <optional> <attribute name="destFile"/> </optional> </interleave> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="mapping"/> <ref name="option"/> </choice> </zeroOrMore> </element> </define> <!-- ========================================= PearPackage2Task ========================================= --> <define name="pearpkg2"> <element name="pearpkg2"> <interleave> <attribute name="name"/> <attribute name="dir"/> </interleave> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="mapping"/> <ref name="option"/> </choice> </zeroOrMore> </element> </define> <define name="option"> <element name="option"> <interleave> <attribute name="name"/> <optional> <attribute name="value"/> </optional> </interleave> <text/> </element> </define> <define name="mapping"> <element name="mapping"> <optional> <attribute name="name"/> </optional> <oneOrMore> <ref name="element"/> </oneOrMore> </element> </define> <define name="element"> <element name="element"> <interleave> <optional> <choice> <attribute name="key"/> <attribute name="name"/> </choice> </optional> <optional> <attribute name="value"/> </optional> </interleave> <zeroOrMore> <ref name="element"/> </zeroOrMore> </element> </define> <!-- ========================================= PharPackageTask ========================================= --> <define name="pharpackage"> <element name="pharpackage"> <interleave> <attribute name="basedir"/> <attribute name="destfile"/> <optional> <attribute name="compression"/> </optional> <optional> <attribute name="webstub"/> </optional> <optional> <attribute name="clistub"/> </optional> <optional> <attribute name="stub"/> </optional> <optional> <attribute name="alias"/> </optional> <optional> <attribute name="signature"/> </optional> </interleave> <oneOrMore> <ref name="fileset"/> </oneOrMore> <optional> <ref name="metadata"/> </optional> </element> </define> <define name="metadata"> <element name="metadata"> <oneOrMore> <ref name="element"/> </oneOrMore> </element> </define> <!-- ========================================= PhkPackageTask ========================================= --> <define name="phkpackage"> <element name="phkpackage"> <interleave> <attribute name="phkcreatorpath"/> <attribute name="inputdirectory"/> <attribute name="outputfile"/> <optional> <attribute name="compress"/> </optional> <optional> <attribute name="strip"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="name"/> </optional> <optional> <attribute name="webrunscript"/> </optional> <optional> <attribute name="crccheck"/> </optional> <optional> <ref name="webaccess"/> </optional> </interleave> </element> </define> <define name="webaccess"> <element name="webaccess"> <oneOrMore> <ref name="path"/> </oneOrMore> </element> </define> <!-- ========================================= PhpCodeSnifferTask ========================================= --> <define name="phpcodesniffer"> <element name="phpcodesniffer"> <interleave> <optional> <attribute name="standard"/> </optional> <optional> <attribute name="format"/> </optional> <optional> <attribute name="showSniffs"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="showWarnings"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="showSources"> <data type="boolean"/> </attribute> </optional> <choice> <attribute name="file"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <optional> <attribute name="sniffs"/> </optional> <optional> <attribute name="verbosity"/> </optional> <optional> <attribute name="tabwidth"> <data type="int"/> </attribute> </optional> <optional> <attribute name="reportwidth"> <data type="int"/> </attribute> </optional> <optional> <attribute name="docgenerator"/> </optional> <optional> <attribute name="docfile"/> </optional> <optional> <attribute name="allowedFileExtensions"/> </optional> <optional> <attribute name="ignorePatterns"/> </optional> <optional> <attribute name="nosubdirectories"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonwarning"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="skipversioncheck"> <data type="boolean"/> </attribute> </optional> <zeroOrMore> <ref name="config"/> <ref name="formatter"/> </zeroOrMore> </interleave> </element> </define> <define name="config"> <element name="config"> <attribute name="name"/> <attribute name="value"/> </element> </define> <!-- ========================================= PhpDocumentorTask ========================================= --> <define name="phpdocumentor"> <element name="phpdocumentor"> <interleave> <optional> <attribute name="title"/> </optional> <choice> <attribute name="destdir"/> <attribute name="target"/> </choice> <optional> <attribute name="output"/> </optional> <optional> <attribute name="sourcecode"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="examplesdir"/> </optional> <optional> <attribute name="parseprivate"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="javadocdesc"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="packageoutput"/> </optional> <optional> <attribute name="ignoretags"/> </optional> <optional> <attribute name="defaultpackagename"/> </optional> <optional> <attribute name="defaultcategoryname"/> </optional> <optional> <attribute name="pear"/> </optional> <optional> <attribute name="templatebase"/> </optional> <optional> <attribute name="undocumentedelements"/> </optional> <optional> <attribute name="customtags"/> </optional> </interleave> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="projdocfileset"/> </choice> </zeroOrMore> </element> </define> <!-- ========================================= PHPMDTask ========================================= --> <define name="phpmd"> <element name="phpmd"> <interleave> <optional> <attribute name="file"/> </optional> <optional> <attribute name="ruleset"/> </optional> <optional> <attribute name="minimumpriority"> <data type="int"/> </attribute> </optional> <optional> <attribute name="allowedfileextensions"/> </optional> <optional> <attribute name="ignorepatterns"/> </optional> <optional> <attribute name="format"/> </optional> </interleave> </element> </define> <!-- ========================================= PhpDependTask ========================================= --> <define name="phpdepend"> <element name="phpdepend"> <optional> <attribute name="file"/> </optional> <optional> <attribute name="configfile"/> </optional> <optional> <attribute name="allowedfileextensions"/> </optional> <optional> <attribute name="excludedirectories"/> </optional> <optional> <attribute name="excludepackages"/> </optional> <optional> <attribute name="withoutannotations"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="superbaddocumentation"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="debug"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> </element> </define> <!-- ========================================= PhpDocumentorTask ========================================= --> <define name="phpdoc"> <element name="phpdoc"> <interleave> <optional> <attribute name="title"/> </optional> <choice> <attribute name="destdir"/> <attribute name="target"/> </choice> <optional> <attribute name="output"/> </optional> <optional> <attribute name="sourcecode"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="examplesdir"/> </optional> <optional> <attribute name="parseprivate"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="javadocdesc"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="packageoutput"/> </optional> <optional> <attribute name="ignoretags"/> </optional> <optional> <attribute name="defaultpackagename"/> </optional> <optional> <attribute name="defaultcategoryname"/> </optional> <optional> <attribute name="pear"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="templatebase"/> </optional> <optional> <attribute name="undocumentedelements"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="customtags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignore"/> </optional> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="projdocfileset"/> </choice> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= PhpDocumentorExternalTask ========================================= --> <define name="phpdocumentorexternal"> <element name="phpdocumentorexternal"> <interleave> <optional> <attribute name="title"/> </optional> <choice> <attribute name="destdir"/> <attribute name="target"/> </choice> <optional> <attribute name="output"/> </optional> <optional> <attribute name="sourcecode"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="examplesdir"/> </optional> <optional> <attribute name="parseprivate"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="javadocdesc"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="quiet"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="packageoutput"/> </optional> <optional> <attribute name="ignoretags"/> </optional> <optional> <attribute name="defaultpackagename"/> </optional> <optional> <attribute name="defaultcategoryname"/> </optional> <optional> <attribute name="pear"/> </optional> <optional> <attribute name="templatebase"/> </optional> <optional> <attribute name="undocumentedelements"/> </optional> <optional> <attribute name="customtags"/> </optional> <optional> <attribute name="programpath"/> </optional> <optional> <attribute name="ignore"/> </optional> <choice> <attribute name="sourcepath"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> </interleave> </element> </define> <!-- ========================================= PhpLintTask ========================================= --> <define name="phplint"> <element name="phplint"> <choice> <attribute name="file"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="errorproperty"/> </optional> <optional> <attribute name="interpretator"/> </optional> <optional> <attribute name="cachefile"/> </optional> <optional> <attribute name="level"> <choice> <value>error</value> <value>warning</value> <value>info</value> <value>verbose</value> <value>debug</value> </choice> </attribute> </optional> <optional> <attribute name="tofile"/> </optional> <optional> <attribute name="deprecatedaserror"> <data type="boolean"/> </attribute> </optional> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= PHPUnitTask ========================================= --> <define name="phpunit"> <element name="phpunit"> <interleave> <optional> <attribute name="printsummary"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="bootstrap"/> </optional> <optional> <attribute name="codecoverage"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonincomplete"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonskipped"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="failureproperty"/> </optional> <optional> <attribute name="errorproperty"/> </optional> <optional> <attribute name="incompleteproperty"/> </optional> <optional> <attribute name="skippedproperty"/> </optional> <optional> <attribute name="usecustomerrorhandler"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="processisolation"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="formatter"/> </zeroOrMore> <optional> <ref name="batchtest"/> </optional> </element> </define> <define name="batchtest"> <element name="batchtest"> <interleave> <optional> <attribute name="exclude"/> </optional> <optional> <attribute name="classpath"/> </optional> </interleave> <oneOrMore> <ref name="fileset"/> </oneOrMore> </element> </define> <!-- ========================================= PHPUnitReporttask ========================================= --> <define name="phpunitreport"> <element name="phpunitreport"> <interleave> <optional> <attribute name="infile"/> </optional> <optional> <attribute name="format"/> </optional> <optional> <attribute name="styledir"/> </optional> <attribute name="todir"/> <optional> <attribute name="usesorttable"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= rSTTask ========================================= --> <define name="rst"> <element name="rst"> <interleave> <choice> <attribute name="file"/> <oneOrMore> <ref name="fileset"/> </oneOrMore> </choice> <optional> <attribute name="format"> <choice> <value>html</value> <value>latex</value> <value>man</value> <value>odt</value> <value>s5</value> <value>xml</value> </choice> </attribute> </optional> <optional> <attribute name="destination"/> </optional> <optional> <attribute name="uptodate"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="toolpath"/> </optional> <optional> <attribute name="toolparam"/> </optional> <zeroOrMore> <ref name="mapper"/> </zeroOrMore> <zeroOrMore> <ref name="filterchain"/> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= S3PutTask ========================================= --> <define name="s3put"> <element name="s3put"> <interleave> <choice> <attribute name="source"/> <attribute name="content"/> </choice> <attribute name="key"/> <attribute name="secret"/> <attribute name="bucket"/> <optional> <attribute name="object"/> </optional> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= S3GetTask ========================================= --> <define name="s3get"> <element name="s3get"> <interleave> <attribute name="key"/> <attribute name="secret"/> <attribute name="bucket"/> <attribute name="object"/> <attribute name="target"/> </interleave> </element> </define> <define name="scp"> <element name="scp"> <interleave> <attribute name="host"/> <optional> <attribute name="port"> <data type="int"/> </attribute> </optional> <attribute name="username"/> <optional> <attribute name="password"/> </optional> <optional> <attribute name="pubkeyfile"/> </optional> <optional> <attribute name="privkeyfile"/> </optional> <optional> <attribute name="privkeyfilepassphrase"/> </optional> <optional> <attribute name="autocreate"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="todir"/> </optional> <optional> <attribute name="file"/> </optional> <optional> <attribute name="fetch"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="level"> <choice> <value>error</value> <value>warning</value> <value>info</value> <value>verbose</value> <value>debug</value> </choice> </attribute> </optional> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </interleave> </element> </define> <!-- ========================================= SshTask ========================================= --> <define name="ssh"> <element name="ssh"> <interleave> <attribute name="host"/> <optional> <attribute name="port"> <data type="int"/> </attribute> </optional> <attribute name="username"/> <optional> <attribute name="password"/> </optional> <optional> <attribute name="pubkeyfile"/> </optional> <optional> <attribute name="privkeyfile"/> </optional> <optional> <attribute name="privkeyfilepassphrase"/> </optional> <attribute name="command"/> <optional> <attribute name="property"/> </optional> <optional> <attribute name="display"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SimpleTestTask ========================================= --> <define name="simpletest"> <element name="simpletest"> <interleave> <optional> <attribute name="printsummary"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonerror"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="failureproperty"/> </optional> <optional> <attribute name="errorproperty"/> </optional> <optional> <attribute name="debug"> <data type="boolean"/> </attribute> </optional> </interleave> <optional> <ref name="formatter"/> </optional> <oneOrMore> <ref name="fileset"/> </oneOrMore> </element> </define> <!-- ========================================= SvnCheckoutTask ========================================= --> <define name="svncheckout"> <element name="svncheckout"> <interleave> <attribute name="repositoryurl"/> <attribute name="todir"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="username"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="nocache"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="recursive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignoreexternals"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="trustservercert"> <data type="boolean"/> </attribute> </optional> </interleave> <empty/> </element> </define> <!-- ========================================= SvnCommitTask ========================================= --> <define name="svncommit"> <element name="svncommit"> <interleave> <attribute name="message"/> <attribute name="workingcopy"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="username"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="nocache"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="recursive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignoreexternals"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="propertyname"/> </optional> <optional> <attribute name="trustservercert"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnCopyTask ========================================= --> <define name="svncopy"> <element name="svncopy"> <interleave> <attribute name="repositoryurl"/> <attribute name="todir"/> <optional> <attribute name="message"/> </optional> <attribute name="workingcopy"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="username"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="nocache"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="recursive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignoreexternals"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="trustservercert"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnExportTask ========================================= --> <define name="svnexport"> <element name="svnexport"> <interleave> <attribute name="repositoryurl"/> <attribute name="todir"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="username"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="nocache"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="recursive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignoreexternals"/> </optional> <optional> <attribute name="force"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="trustservercert"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnInfoTask ========================================= --> <define name="svninfo"> <element name="svninfo"> <interleave> <choice> <attribute name="workingcopy"/> <attribute name="repositoryurl"/> </choice> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="propertyname"/> </optional> <optional> <attribute name="element"/> </optional> <optional> <attribute name="subelement"/> </optional> </interleave> </element> </define> <!-- ========================================= SvnLastRevisionTask ========================================= --> <define name="svnlastrevision"> <element name="svnlastrevision"> <interleave> <attribute name="workingcopy"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="propertyname"/> </optional> <optional> <attribute name="lastChanged"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="forcecompatible"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnListTask ========================================= --> <define name="svnlist"> <element name="svnlist"> <interleave> <choice> <attribute name="workingcopy"/> <attribute name="repositourl"/> </choice> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="propertyname"/> </optional> <optional> <attribute name="forcecompatible"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="limit"> <data type="int"/> </attribute> </optional> <optional> <attribute name="orderdescending"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnLogTask ========================================= --> <define name="svnlog"> <element name="svnlog"> <interleave> <choice> <attribute name="workingcopy"/> <attribute name="repositourl"/> </choice> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="propertyname"/> </optional> <optional> <attribute name="forcecompatible"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="limit"> <data type="int"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnUpdateTask ========================================= --> <define name="svnupdate"> <element name="svnupdate"> <interleave> <attribute name="todir"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="username"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="nocache"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="recursive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignoreexternals"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="revision"> <data type="int"/> </attribute> </optional> <optional> <attribute name="trustservercert"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= SvnSwitchTask ========================================= --> <define name="svnswitch"> <element name="svnswitch"> <interleave> <attribute name="todir"/> <attribute name="repositoryurl"/> <optional> <attribute name="svnpath"/> </optional> <optional> <attribute name="username"/> </optional> <optional> <attribute name="password"/> </optional> <optional> <attribute name="nocache"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="recursive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="ignoreexternals"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="trustservercert"> <data type="boolean"/> </attribute> </optional> </interleave> </element> </define> <!-- ========================================= TarTask ========================================= --> <define name="tar"> <element name="tar"> <interleave> <attribute name="destfile"/> <optional> <attribute name="basedir"/> </optional> <optional> <attribute name="compression"> <choice> <value>gzip</value> <value>bzip2</value> <value>none</value> </choice> </attribute> </optional> <optional> <attribute name="includeemptydirs"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="longfile"> <choice> <value>truncate</value> <value>fail</value> <value>warn</value> <value>gnu</value> <value>omit</value> </choice> </attribute> </optional> <optional> <attribute name="prefix"/> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= UntarTask ========================================= --> <define name="untar"> <element name="untar"> <interleave> <attribute name="todir"/> <optional> <attribute name="file"/> </optional> <optional> <attribute name="removepath"/> </optional> <optional> <attribute name="forceextract"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= UnzipTask ========================================= --> <define name="unzip"> <element name="unzip"> <interleave> <attribute name="todir"/> <optional> <attribute name="file"/> </optional> <optional> <attribute name="forceextract"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= VersionTask ========================================= --> <define name="version"> <element name="version"> <interleave> <attribute name="releasetype"> <choice> <value>Major</value> <value>Minor</value> <value>Bugfix</value> </choice> </attribute> <attribute name="file"/> <attribute name="property"/> </interleave> </element> </define> <!-- ========================================= XmlLintTask ========================================= --> <define name="xmllint"> <element name="xmllint"> <interleave> <attribute name="schema"/> <optional> <attribute name="file"/> </optional> <optional> <attribute name="useRNG"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="haltonfailure"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= XmlPropertyTask ========================================= --> <define name="xmlproperty"> <element name="xmlproperty"> <interleave> <attribute name="file"/> <optional> <attribute name="prefix"/> </optional> <optional> <attribute name="keeproot"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="collapseattributes"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="delimiter"/> </optional> </interleave> </element> </define> <!-- ========================================= ZendCodeAnalyzerTask ========================================= --> <define name="zendcodeanalyzer"> <element name="zendcodeanalyzer"> <interleave> <attribute name="analyzerPath"/> <optional> <attribute name="file"/> </optional> <optional> <attribute name="disable"/> </optional> <optional> <attribute name="enable"/> </optional> <optional> <attribute name="haltonwarning"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= ZendGuardEncodeTask ========================================= --> <define name="zendguardencode"> <element name="zendguardencode"> <interleave> <attribute name="zendencoderpath"/> <optional> <attribute name="deletesource"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="renamesourceext"/> </optional> <optional> <attribute name="expires"/> </optional> <optional> <attribute name="obfuscationlevel"> <data type="int"/> </attribute> </optional> <optional> <attribute name="optmask"> <data type="int"/> </attribute> </optional> <optional> <attribute name="privatekeypath"/> </optional> <optional> <attribute name="productname"/> </optional> <optional> <attribute name="prologfile"/> </optional> <optional> <attribute name="shorttags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="asptags"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="noheader"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="usecrypto"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="encodedonly"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="forceencode"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="licenseproduct"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="signproduct"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= ZendGuardLicenseTask ========================================= --> <define name="zendguardlicense"> <element name="zendguardlicense"> <interleave> <attribute name="zendsignpath"/> <attribute name="privatekeypath"/> <attribute name="outputfile"/> <attribute name="productname"/> <attribute name="registeredto"/> <attribute name="expires"/> <optional> <attribute name="licensetemplate"/> </optional> <optional> <attribute name="iprange"/> </optional> <optional> <attribute name="hardwarelocked"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="hostid"/> </optional> <optional> <attribute name="userdefinedvalues"/> </optional> <optional> <attribute name="xuserdefinedvalues"/> </optional> </interleave> </element> </define> <!-- ========================================= ZipTask ========================================= --> <define name="zip"> <element name="zip"> <interleave> <attribute name="destfile"/> <optional> <attribute name="basedir"/> </optional> <optional> <attribute name="prefix"/> </optional> <optional> <attribute name="includeemptydirs"> <data type="boolean"/> </attribute> </optional> </interleave> <zeroOrMore> <ref name="fileset"/> </zeroOrMore> </element> </define> <!-- ========================================= FtpDeployTask ========================================= --> <define name="ftpdeploy"> <element name="ftpdeploy"> <interleave> <attribute name="host"/> <attribute name="username"/> <attribute name="password"/> <optional> <attribute name="port"> <data type="int"/> </attribute> </optional> <optional> <attribute name="dir"/> </optional> <optional> <attribute name="mode"> <choice> <value>ascii</value> <value>binary</value> </choice> </attribute> </optional> <optional> <attribute name="clearfirst"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="passive"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="level"> <choice> <value>error</value> <value>warning</value> <value>info</value> <value>verbose</value> <value>debug</value> </choice> </attribute> </optional> <oneOrMore> <ref name="fileset"/> </oneOrMore> </interleave> </element> </define> <!-- ====================================================================== Filters ====================================================================== --> <define name="mapper"> <element name="mapper"> <interleave> <choice> <attribute name="classname"/> <attribute name="type"> <choice> <value type="string">flatten</value> <value type="string">glob</value> <value type="string">merge</value> <value type="string">identity</value> <value type="string">regexp</value> </choice> </attribute> </choice> <optional> <attribute name="from"/> </optional> <optional> <attribute name="to"/> </optional> </interleave> </element> </define> <define name="param"> <element name="param"> <optional> <attribute name="type"/> </optional> <optional> <attribute name="key"/> </optional> <optional> <attribute name="value"/> </optional> <optional> <attribute name="name"/> </optional> <optional> <attribute name="expression"/> </optional> </element> </define> <define name="filterreader"> <element name="filterreader"> <attribute name="classname"/> <optional> <attribute name="classpath"/> </optional> <optional> <attribute name="classpathref"/> </optional> <zeroOrMore> <ref name="param"/> </zeroOrMore> </element> </define> <define name="expandproperties"> <element name="expandproperties"> <empty/> </element> </define> <define name="filterchain"> <element name="filterchain"> <oneOrMore> <choice> <ref name="expandproperties"/> <ref name="filterreader"/> <ref name="expandproperties"/> <ref name="headfilter"/> <ref name="iconvfilter"/> <ref name="linecontains"/> <ref name="linecontainsregexp"/> <ref name="prefixlines"/> <ref name="replacetokens"/> <ref name="replaceregexp"/> <ref name="striplinecomments"/> <ref name="stripphpcomments"/> <ref name="stripwhitespace"/> <ref name="tabtospaces"/> <ref name="tailfilter"/> <ref name="tidyfilter"/> <ref name="xincludefilter"/> <ref name="xsltfilter"/> </choice> </oneOrMore> </element> </define> <define name="linecontains"> <element name="linecontains"> <oneOrMore> <ref name="contains"/> </oneOrMore> </element> </define> <define name="contains"> <element name="contains"> <attribute name="value"/> </element> </define> <define name="linecontainsregexp"> <element name="linecontainsregexp"> <ref name="regexp"/> </element> </define> <define name="regexp"> <element name="regexp"> <attribute name="pattern"/> <optional> <attribute name="replace"/> </optional> <optional> <attribute name="ignoreCase"/> </optional> </element> </define> <define name="prefixlines"> <element name="prefixlines"> <attribute name="prefix"/> </element> </define> <define name="replacetokens"> <element name="replacetokens"> <interleave> <optional> <attribute name="begintoken"/> </optional> <optional> <attribute name="endtoken"/> </optional> </interleave> <oneOrMore> <ref name="token"/> </oneOrMore> </element> </define> <define name="token"> <element name="token"> <attribute name="key"/> <attribute name="value"/> </element> </define> <define name="replaceregexp"> <element name="replaceregexp"> <oneOrMore> <ref name="regexp"/> </oneOrMore> </element> </define> <define name="stripwhitespace"> <element name="stripwhitespace"> <optional> <attribute name="tablength"> <data type="int"/> </attribute> </optional> </element> </define> <define name="striplinecomments"> <element name="striplinecomments"> <oneOrMore> <ref name="comment"/> </oneOrMore> </element> </define> <define name="comment"> <element name="comment"> <choice> <attribute name="value"/> <text/> </choice> </element> </define> <define name="stripphpcomments"> <element name="stripphpcomments"> <empty/> </element> </define> <define name="tabtospaces"> <element name="tabtospaces"> <empty/> </element> </define> <define name="tabtospace"> <element name="tabtospaces"> <optional> <attribute name="tablength"> <data type="int"/> </attribute> </optional> </element> <empty/> </define> <define name="tailfilter"> <element name="tailfilter"> <optional> <attribute name="lines"> <data type="int"/> </attribute> </optional> </element> <empty/> </define> <define name="headfilter"> <element name="headfilter"> <optional> <attribute name="lines"> <data type="int"/> </attribute> </optional> <empty/> </element> </define> <define name="iconvfilter"> <element name="iconvfilter"> <attribute name="inputencoding"/> <attribute name="outputencoding"/> <empty/> </element> </define> <define name="tidyfilter"> <element name="tidyfilter"> <optional> <attribute name="encoding"/> </optional> <empty/> </element> </define> <define name="xincludefilter"> <element name="xincludefilter"> <optional> <attribute name="basedir"/> </optional> </element> </define> <define name="xsltfilter"> <element name="xsltfilter"> <interleave> <attribute name="style"/> <optional> <attribute name="html"/> </optional> <zeroOrMore> <ref name="param"/> </zeroOrMore> </interleave> </element> </define> <!-- ================================================================ Custom tasks/filters ================================================================ --> <define name="highlightsrc"> <element name="highlightsrc"> <interleave> <optional> <attribute name="linenumber"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="file"/> </optional> </interleave> <interleave> <zeroOrMore> <choice> <ref name="fileset"/> <ref name="filterchain"/> </choice> </zeroOrMore> </interleave> </element> </define> </grammar>