第一次提交
This commit is contained in:
commit
8121362a03
4412 files changed
+1091845
No files matched your search
@@ -0,0 +1,92 @@
|
||||
<!--
|
||||
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 id="antstructure">AntStructure</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. <a href="fail.html"><code><fail></code></a> for example can be a
|
||||
task or a nested child element of the <a href="../Tasks/sound.html"><code><sound></code></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><taskdef></code></a>
|
||||
or <a href="typedef.html"><code><typedef></code></a>.
|
||||
See <a href="https://web.archive.org/web/20071231061243/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 class="code">org.apache.tools.ant.taskdefs.AntStructure.StructurePrinter</code>
|
||||
and <code><typedef></code> your class and use the new type as a nested element of this
|
||||
task—see the example below.
|
||||
|
||||
<h3>Parameters</h3>
|
||||
<table class="attr">
|
||||
<tr>
|
||||
<th scope="col">Attribute</th>
|
||||
<th scope="col">Description</th>
|
||||
<th scope="col">Required</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>output</td>
|
||||
<td>file to write the DTD to.</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>Examples</h3>
|
||||
<p>Basic usage</p>
|
||||
|
||||
<pre><antstructure output="project.dtd"/></pre>
|
||||
|
||||
<p>Emit your own structure instead of a DTD: 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>
|
||||
<typedef name="myprinter" classname="org.example.MyPrinter"/>
|
||||
<antstructure output="project.my">
|
||||
<myprinter/>
|
||||
</antstructure></pre>
|
||||
|
||||
<p>Your own <code class="code">StructurePrinter</code> can accept attributes and nested elements
|
||||
just like any other Ant type or task.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user