blob: 697f3ac9c23fcd7370858dffd1299c03590bb535 [file] [log] [blame]
<?xml version="1.0"?>
<grammar
xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:r="http://relaxng.org/ns/structure/1.0"
xmlns:a="http://relaxng.org/ns/annotation/1.0"
xmlns:ref="urn:crossreference"
xmlns:c="http://www.xml.gr.jp/xmlns/relaxngcc"
c:runtime-type="com.sun.tools.internal.jxc.NGCCRuntimeEx"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
c:package="com.sun.tools.internal.jxc.gen.config">
<start c:class="Config" c:access="public">
<c:java-import>
import java.util.List;
import java.util.ArrayList;
import java.io.File;
</c:java-import>
<c:java-body>
private File baseDir;
private Classes classes;
private List schema = new ArrayList();
public Classes getClasses() { return this.classes;}
public File getBaseDir() { return baseDir;}
public List getSchema() { return this.schema;}
</c:java-body>
<element name="config">
<attribute name="baseDir">
bd = <data type="string"/>
baseDir = $runtime.getBaseDir(bd);
</attribute>
<ref name="Classes" c:alias="classes"/>
<zeroOrMore>
<ref name="Schema" c:alias="_schema" />(baseDir);
this.schema.add (_schema);
</zeroOrMore>
</element>
</start>
<define name="Classes" c:access="public">
<c:java-import>
import java.util.List;
import java.util.ArrayList;
</c:java-import>
<c:java-body>
private List includes = new ArrayList();
public List getIncludes() { return $runtime.getIncludePatterns(this.includes);}
private List excludes = new ArrayList();
public List getExcludes() { return $runtime.getExcludePatterns(this.excludes);}
</c:java-body>
<element name="classes">
<element name="includes">
<list>
<oneOrMore>
<data type="string" c:alias="include_content"/>
<c:java> this.includes.add(include_content); </c:java>
</oneOrMore>
</list>
</element>
<optional>
<element name="excludes">
<list>
<zeroOrMore>
<data type="string" c:alias="exclude_content"/>
<c:java> this.excludes.add(exclude_content); </c:java>
</zeroOrMore>
</list>
</element>
</optional>
</element>
</define>
<define name="Schema" c:access="public" c:params="File baseDir">
<c:java-import>
import java.io.File;
</c:java-import>
<c:java-body>
private File location;
private String namespace;
public String getNamespace() { return this.namespace;}
public File getLocation() { return this.location;}
</c:java-body>
<element name="schema">
<optional>
<attribute name="namespace">
namespace = <data type="string" />
</attribute>
</optional>
<optional>
<attribute name="location">
loc = <data type="string" />
location = new File(baseDir,loc);
</attribute>
</optional>
</element>
</define>
</grammar>