aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/manual/Tasks/antstructure.html
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/manual/Tasks/antstructure.html')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/manual/Tasks/antstructure.html100
1 files changed, 100 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/manual/Tasks/antstructure.html b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/antstructure.html
new file mode 100644
index 00000000..ab7acc1a
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/antstructure.html
@@ -0,0 +1,100 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
+<title>AntStructure Task</title>
+</head>
+
+<body>
+
+<h2><a name="antstructure">AntStructure</a></h2>
+<h3>Description</h3>
+
+<p>Generates an DTD for Apache Ant buildfiles which contains information
+about all tasks currently known to Ant.</p>
+
+<p>Actually the DTD will not be a real DTD for buildfiles since Ant's
+usage of XML cannot be captured with a DTD. Several elements in Ant
+can have different attribute lists depending on the element that
+contains them. &quot;fail&quot; for example can be <a
+href="fail.html">the task</a> or the nested child element of the <a
+href="../Tasks/sound.html">sound</a> task. Don't consider the
+generated DTD something to rely upon.</p>
+
+<p>Also note that the DTD generated by this task is incomplete, you can
+always add XML entities using <a
+href="taskdef.html"><code>&lt;taskdef&gt;</code></a> or <a
+href="typedef.html"><code>&lt;typedef&gt;</code></a>. See <a
+href="http://www.sdv.fr/pages/casa/html/ant-dtd.en.html"
+target="_top">here</a> for a way to get around this problem.</p>
+<p>This task doesn't know about required attributes, all will be
+listed as <code>#IMPLIED</code>.</p>
+
+<p><em>Since Ant 1.7</em> custom structure printers can be used
+instead of the one that emits a DTD. In order to plug in your own
+structure, you have to implement the interface
+<code>org.apache.tools.ant.taskdefs.AntStructure.StructurePrinter</code>
+and <code>&lt;typedef&gt; your class and use the new type as a nested
+element of this task - see the example below.</code>
+
+<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">output</td>
+ <td valign="top">file to write the DTD to.</td>
+ <td valign="top" align="center">Yes</td>
+ </tr>
+</table>
+<h3>Examples</h3>
+<blockquote><pre>
+&lt;antstructure output=&quot;project.dtd&quot; /&gt;
+</pre></blockquote>
+
+<p><b>Emitting your own structure instead of a DTD</b></p>
+
+<p>First you need to implement the interface</p>
+
+<pre>
+package org.example;
+import org.apache.tools.ant.taskdefs.AntStructure;
+public class MyPrinter implements AntStructure.StructurePrinter {
+ ...
+}
+</pre>
+
+<p>and then use it via typedef</p>
+
+<pre>
+ &lt;typedef name="myprinter" classname="org.example.MyPrinter" /&gt;
+ &lt;antstructure output="project.my"&gt;
+ &lt;myprinter /&gt;
+ &lt;/antstructure&gt;
+</pre>
+
+<p>Your own StructurePrinter can accept attributes and nested elements
+just like any other Ant type or task.</p>
+
+</body>
+</html>