You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2006/11/24 13:15:06 UTC

svn commit: r478855 [11/21] - in /webservices/jaxme/branches/MAVEN/jaxme-xs: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/ws/ src/main/java/org/apache/ws/jaxme/ src/main/java/org/apache/ws/jaxme...

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsFormChoice.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsFormChoice.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsFormChoice.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsFormChoice.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Implementation of the following simple type:
+ * <pre>
+ *  &lt;xs:simpleType name="formChoice"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        A utility type, not for public use
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:restriction base="xs:NMTOKEN"&gt;
+ *      &lt;xs:enumeration value="qualified"/&gt;
+ *      &lt;xs:enumeration value="unqualified"/&gt;
+ *    &lt;/xs:restriction&gt;
+ *  &lt;/xs:simpleType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class XsFormChoice {
+  public static final XsFormChoice QUALIFIED = new XsFormChoice("qualified");
+  public static final XsFormChoice UNQUALIFIED = new XsFormChoice("unqualified");
+  private final String value;
+  private XsFormChoice(String pValue) {
+    value = pValue;
+  }
+  public String toString() { return value; }
+  public String getValue() { return value; }
+  public int hashCode() {
+    return value.hashCode();
+  }
+  public boolean equals(Object o) {
+    return o != null  &&  XsFormChoice.class.equals(o.getClass())  &&
+      value.equals(((XsFormChoice) o).value);
+  }
+  public static XsFormChoice valueOf(String pValue) {
+    if ("qualified".equals(pValue)) {
+      return QUALIFIED;
+    } else if ("unqualified".equals(pValue)) {
+      return UNQUALIFIED;
+    } else {
+      throw new IllegalArgumentException("Invalid form value: " + pValue + ", expected either of 'qualified' or 'unqualified'" );
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAllModel.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAllModel.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAllModel.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAllModel.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of <code>xs:allModel</code>, as specified by
+ * the following:
+ * <pre>
+ *  &lt;xs:group name="allModel"&gt;
+ *    &lt;xs:sequence&gt;
+ *      &lt;xs:element ref="xs:annotation" minOccurs="0"/&gt;
+ *      &lt;xs:element name="element" minOccurs="0" maxOccurs="unbounded"&gt;
+ *        &lt;xs:complexType&gt;
+ *          &lt;xs:annotation&gt;
+ *            &lt;xs:documentation&gt;restricted max/min&lt;/xs:documentation&gt;
+ *          &lt;/xs:annotation&gt;
+ *          &lt;xs:complexContent&gt;
+ *            &lt;xs:restriction base="xs:localElement"&gt;
+ *              &lt;xs:sequence&gt;
+ *                &lt;xs:element ref="xs:annotation" minOccurs="0"/&gt;
+ *                &lt;xs:choice minOccurs="0"&gt;
+ *                  &lt;xs:element name="simpleType" type="xs:localSimpleType"/&gt;
+ *                  &lt;xs:element name="complexType" type="xs:localComplexType"/&gt;
+ *                &lt;/xs:choice&gt;
+ *                &lt;xs:group ref="xs:identityConstraint" minOccurs="0"
+ *                    maxOccurs="unbounded"/&gt;
+ *              &lt;/xs:sequence&gt;
+ *              &lt;xs:attribute name="minOccurs" use="optional" default="1"&gt;
+ *                &lt;xs:simpleType&gt;
+ *                  &lt;xs:restriction base="xs:nonNegativeInteger"&gt;
+ *                    &lt;xs:enumeration value="0"/&gt;
+ *                    &lt;xs:enumeration value="1"/&gt;
+ *                  &lt;/xs:restriction&gt;
+ *                &lt;/xs:simpleType&gt;
+ *              &lt;/xs:attribute&gt;
+ *              &lt;xs:attribute name="maxOccurs" use="optional" default="1"&gt;
+ *                &lt;xs:simpleType&gt;
+ *                  &lt;xs:restriction base="xs:allNNI"&gt;
+ *                    &lt;xs:enumeration value="0"/&gt;
+ *                    &lt;xs:enumeration value="1"/&gt;
+ *                  &lt;/xs:restriction&gt;
+ *                &lt;/xs:simpleType&gt;
+ *              &lt;/xs:attribute&gt;
+ *            &lt;/xs:restriction&gt;
+ *          &lt;/xs:complexContent&gt;
+ *        &lt;/xs:complexType&gt;
+ *       &lt;/xs:element&gt;
+ *    &lt;/xs:sequence&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ * <p><em>Implementation note: The above restriction of a {@link XsTLocalElement}
+ * is interpreted as a usual local element, except that the <code>minOccurs</code>
+ * and <code>maxOccurs</code> attributes must be 0 or 1.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGAllModel {
+  public XsEAnnotation createAnnotation();
+  public XsEAnnotation getAnnotation();
+  public XsTLocalElement createElement();
+  public XsTLocalElement[] getElements();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAttrDecls.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAttrDecls.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAttrDecls.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGAttrDecls.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Interface of <code>xs:attrDecls</code>, with the
+ * following specification:
+ * <pre>
+ *  &lt;xs:group name="attrDecls"&gt;
+ *    &lt;xs:sequence&gt;
+ *      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+ *        &lt;xs:element name="attribute" type="xs:attribute"/&gt;
+ *        &lt;xs:element name="attributeGroup" type="xs:attributeGroupRef"/&gt;
+ *      &lt;/xs:choice&gt;
+ *      &lt;xs:element ref="xs:anyAttribute" minOccurs="0"/&gt;
+ *    &lt;/xs:sequence&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGAttrDecls {
+  /** <p>Creates a new instance of {@link XsTAttribute}.</p>
+   */
+  public XsTAttribute createAttribute();
+
+  /** <p>Returns an array of all attributes created by
+   * {@link #createAttribute()}.</p>
+   */
+  public XsTAttribute[] getAttributes();
+
+  /** <p>Creates a new instance of {@link XsTAttributeGroup}.</p>
+   */
+  public XsTAttributeGroupRef createAttributeGroup();
+
+  /** <p>Returns an array of all attribute groups created by
+   * {@link #createAttributeGroup()};
+   */
+  public XsTAttributeGroupRef[] getAttributeGroups();
+
+  /** <p>Creates a new instance of {@link XsTWildcard}.</p>
+   */
+  public XsTWildcard createAnyAttribute();
+
+  /** <p>Returns the instance created by {@link #createAnyAttribute()},
+   * or null, if the method wasn't called.</p>
+   */
+  public XsTWildcard getAnyAttribute();
+
+  /** <p>Returns all objects created by {@link #createAttribute()},
+   * {@link #createAttributeGroup()}, or {@link #createAnyAttribute()},
+   * in the order of the corresponding method calls.</p>
+   */
+  public Object[] getAllAttributes();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGComplexTypeModel.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGComplexTypeModel.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGComplexTypeModel.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGComplexTypeModel.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of the group <code>xs:complexTypeModel</code>,
+ * as specified by the following:
+ * <pre>
+ *  &lt;xs:group name="complexTypeModel"&gt;
+ *    &lt;xs:choice&gt;
+ *      &lt;xs:element ref="xs:simpleContent"/&gt;
+ *      &lt;xs:element ref="xs:complexContent"/&gt;
+ *      &lt;xs:sequence&gt;
+ *        &lt;xs:annotation&gt;
+ *          &lt;xs:documentation&gt;
+ *            This branch is short for &amp;lt;complexContent&amp;gt;
+ *            &amp;lt;restriction base="xs:anyType"&amp;gt;
+ *            ...
+ *            &amp;lt;/restriction&amp;gt;
+ *            &amp;lt;/complexContent&amp;gt;
+ *          &lt;/xs:documentation&gt;
+ *        &lt;/xs:annotation&gt;
+ *        &lt;xs:group ref="xs:typeDefParticle" minOccurs="0"/&gt;
+ *        &lt;xs:group ref="xs:attrDecls"/&gt;
+ *      &lt;/xs:sequence&gt;
+ *    &lt;/xs:choice&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGComplexTypeModel extends XsGTypeDefParticle, XsGAttrDecls {
+  public XsESimpleContent createSimpleContent();
+  public XsESimpleContent getSimpleContent();
+
+  public XsEComplexContent createComplexContent();
+  public XsEComplexContent getComplexContent();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGIdentityConstraint.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGIdentityConstraint.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGIdentityConstraint.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGIdentityConstraint.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Implementation of the group <code>xs:identityConstraint</code>,
+ * specified as follows:
+ * <pre>
+ *  <xs:group name="identityConstraint">
+ *    <xs:annotation>
+ *      <xs:documentation>
+ *        The three kinds of identity constraints, all with
+ *        type of or derived from 'keybase'.
+ *      </xs:documentation>
+ *    </xs:annotation>
+ *    <xs:choice>
+ *      <xs:element ref="xs:unique"/>
+ *      <xs:element ref="xs:key"/>
+ *      <xs:element ref="xs:keyref"/>
+ *    </xs:choice>
+ *  </xs:group>
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGIdentityConstraint {
+  public XsEUnique createUnique();
+
+  public XsEKey createKey();
+
+  public XsEKeyref createKeyref();
+
+  public XsTIdentityConstraint[] getIdentityConstraints();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGNestedParticle.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGNestedParticle.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGNestedParticle.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGNestedParticle.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of the <code>xs:nestedParticle</code> group,
+ * as specified by the following:
+ * <pre>
+ *  <xs:group name="nestedParticle">
+ *    <xs:choice>
+ *      <xs:element name="element" type="xs:localElement"/>
+ *      <xs:element name="group" type="xs:groupRef"/>
+ *      <xs:element ref="xs:choice"/>
+ *      <xs:element ref="xs:sequence"/>
+ *      <xs:element ref="xs:any"/>
+ *    </xs:choice>
+ *  </xs:group>
+ * </pre></p>
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGNestedParticle {
+  public XsTLocalElement createElement();
+  public XsTLocalElement getElement();
+
+  public XsTGroupRef createGroupRef();
+  public XsTGroupRef getGroupRef();
+
+  public XsEChoice createChoice();
+  public XsEChoice getChoice();
+
+  public XsESequence createSequence();
+  public XsESequence getSequence();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGParticle.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGParticle.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGParticle.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGParticle.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Implementation of the <code>xs:particle</code> group,
+ * with the following specification:
+ * <pre>
+ *  &lt;xs:group name="particle"&gt;
+ *    &lt;xs:choice&gt;
+ *      &lt;xs:element name="element" type="xs:localElement"/&gt;
+ *      &lt;xs:element name="group" type="xs:groupRef"/&gt;
+ *      &lt;xs:element ref="xs:all"/&gt;
+ *      &lt;xs:element ref="xs:choice"/&gt;
+ *      &lt;xs:element ref="xs:sequence"/&gt;
+ *      &lt;xs:element ref="xs:any"/&gt;
+ *    &lt;/xs:choice&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGParticle {
+  public XsTLocalElement createElement();
+
+  public XsTGroupRef createGroup();
+
+  public XsTAll createAll();
+
+  public XsESequence createSequence();
+
+  public XsEChoice createChoice();
+
+  public XsEAny createAny();
+
+  public XsTParticle[] getParticles();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGSimpleRestrictionModel.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGSimpleRestrictionModel.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGSimpleRestrictionModel.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGSimpleRestrictionModel.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import org.xml.sax.SAXException;
+
+
+/** <p>Interface of <code>xs:simpleRestrictionModel</code>, following
+ * this specification:
+ * <pre>
+ *  &lt;xs:group name="simpleRestrictionModel"&gt;
+ *    &lt;xs:sequence&gt;
+ *      &lt;xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/&gt;
+ *      &lt;xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/&gt;
+ *    &lt;/xs:sequence&gt;
+ *  &lt;/xs:group&gt;
+ *
+ *  &lt;xs:group name="facets"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        We should use a substitution group for facets, but
+ *        that's ruled out because it would allow users to
+ *        add their own, which we're not ready for yet.
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:choice&gt;
+ *      &lt;xs:element ref="xs:minExclusive"/&gt;
+ *      &lt;xs:element ref="xs:minInclusive"/&gt;
+ *      &lt;xs:element ref="xs:maxExclusive"/&gt;
+ *      &lt;xs:element ref="xs:maxInclusive"/&gt;
+ *      &lt;xs:element ref="xs:totalDigits"/&gt;
+ *      &lt;xs:element ref="xs:fractionDigits"/&gt;
+ *      &lt;xs:element ref="xs:length"/&gt;
+ *      &lt;xs:element ref="xs:minLength"/&gt;
+ *      &lt;xs:element ref="xs:maxLength"/&gt;
+ *      &lt;xs:element ref="xs:enumeration"/&gt;
+ *      &lt;xs:element ref="xs:whiteSpace"/&gt;
+ *      &lt;xs:element ref="xs:pattern"/&gt;
+ *    &lt;/xs:choice&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGSimpleRestrictionModel {
+  public XsTLocalSimpleType createSimpleType() throws SAXException;
+  public XsTLocalSimpleType getSimpleType();
+
+  public XsEMinExclusive createMinExclusive() throws SAXException;
+  public XsEMinExclusive getMinExclusive();
+
+  public XsEMinInclusive createMinInclusive() throws SAXException;
+  public XsEMinInclusive getMinInclusive();
+
+  public XsEMaxExclusive createMaxExclusive() throws SAXException;
+  public XsEMaxExclusive getMaxExclusive();
+
+  public XsEMaxInclusive createMaxInclusive() throws SAXException;
+  public XsEMaxInclusive getMaxInclusive();
+
+  public XsETotalDigits createTotalDigits() throws SAXException;
+  public XsETotalDigits getTotalDigits();
+
+  public XsEFractionDigits createFractionDigits() throws SAXException;
+  public XsEFractionDigits getFractionDigits();
+
+  public XsELength createLength() throws SAXException;
+  public XsELength getLength();
+
+  public XsEMinLength createMinLength() throws SAXException;
+  public XsEMinLength getMinLength();
+
+  public XsEMaxLength createMaxLength() throws SAXException;
+  public XsEMaxLength getMaxLength();
+
+  public XsEWhiteSpace createWhiteSpace() throws SAXException;
+  public XsEWhiteSpace getWhiteSpace();
+
+  public XsEPattern createPattern() throws SAXException;
+  public XsEPattern[] getPatterns();
+
+  public XsEEnumeration createEnumeration() throws SAXException;
+  public XsEEnumeration[] getEnumerations();
+
+  /** <p>Returns whether any facet has been defined.</p>
+   */
+  public boolean hasFacets();
+
+  /** <p>Returns an array of all facets.</p>
+   */
+  public XsTFacetBase[] getFacets();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGTypeDefParticle.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGTypeDefParticle.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGTypeDefParticle.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsGTypeDefParticle.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Interface of the <code>xs:typeDefParticle</code> group,
+ * as specified by the following:
+ * <pre>
+ *  <xs:group name="typeDefParticle">
+ *    <xs:annotation>
+ *      <xs:documentation>
+ *        'complexType' uses this
+ *      </xs:documentation>
+ *    </xs:annotation>
+ *    <xs:choice>
+ *      <xs:element name="group" type="xs:groupRef"/>
+ *      <xs:element ref="xs:all"/>
+ *      <xs:element ref="xs:choice"/>
+ *      <xs:element ref="xs:sequence"/>
+ *    </xs:choice>
+ *  </xs:group>
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsGTypeDefParticle {
+  public XsTGroupRef createGroup();
+
+  public XsTAll createAll();
+
+  public XsESequence createSequence();
+
+  public XsEChoice createChoice();
+
+  public XsTTypeDefParticle getTypeDefParticle();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsID.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsID.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsID.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsID.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Implementation of <code>xs:ID</code></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class XsID {
+  private String id;
+
+  public XsID(String pId) {
+    if (pId == null) {
+      throw new NullPointerException("An ID must not be null");
+    }
+    id = pId;
+  }
+
+  public boolean equals(Object o) {
+    return o != null  &&  o instanceof XsID  &&  id.equals(((XsID) o).id);
+  }
+
+  public int hashCode() {
+    return id.hashCode();
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNCName.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNCName.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNCName.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNCName.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Implementation of <code>xs:NCName</code>.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class XsNCName {
+  private final String value;
+
+  public XsNCName(String pValue) {
+    if (pValue == null  ||  pValue.length() == 0) {
+      throw new NullPointerException("An NCName cannot be null or empty.");
+    }
+    if (pValue.indexOf(':') >= 0) {
+    	throw new IllegalArgumentException("NCName " + pValue + " is invalid, because it contains a namespace prefix");
+    }
+    value = pValue;
+  }
+
+  public String toString() { return value; }
+  public String getValue() { return value; }
+  public int hashCode() { return value.hashCode(); }
+  public boolean equals(Object o) {
+    return o != null  &&  o instanceof XsNCName   &&  value.equals(((XsNCName) o).value);
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNamespaceList.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNamespaceList.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNamespaceList.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsNamespaceList.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,211 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.StringTokenizer;
+
+
+/** <p>Implementation of the <code>xs:namespaceList</code> type,
+ * specified like this:
+ * <pre>
+ *  &lt;xs:simpleType name="namespaceList"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        A utility type, not for public use
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:union&gt;
+ *      &lt;xs:simpleType&gt;
+ *        &lt;xs:restriction base="xs:token"&gt;
+ *          &lt;xs:enumeration value="##any"/&gt;
+ *          &lt;xs:enumeration value="##other"/&gt;
+ *        &lt;/xs:restriction&gt;
+ *      &lt;/xs:simpleType&gt;
+ *      &lt;xs:simpleType&gt;
+ *        &lt;xs:list&gt;
+ *          &lt;xs:simpleType&gt;
+ *            &lt;xs:union memberTypes="xs:anyURI"&gt;
+ *              &lt;xs:simpleType&gt;
+ *                &lt;xs:restriction base="xs:token"&gt;
+ *                  &lt;xs:enumeration value="##targetNamespace"/&gt;
+ *                   &lt;xs:enumeration value="##local"/&gt;
+ *                &lt;/xs:restriction&gt;
+ *              &lt;/xs:simpleType&gt;
+ *            &lt;/xs:union&gt;
+ *          &lt;/xs:simpleType&gt;
+ *        &lt;/xs:list&gt;
+ *      &lt;/xs:simpleType&gt;
+ *    &lt;/xs:union&gt;
+ *  &lt;/xs:simpleType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public abstract class XsNamespaceList {
+	/** <p>The namespace list matching "##any".</p>
+	 */
+    public static final XsNamespaceList ANY = new XsNamespaceList(){
+    	/** @return true
+    	 */
+        public boolean isAny() { return true; }
+        /** @return false
+         */
+        public boolean isOther() { return false; }
+        /** @return null
+         */
+        public XsAnyURI[] getUris() { return null; }
+        /** @return The string "##any"
+         */
+        public String toString() { return "##any"; }
+    };
+
+    /** <p>A namespace list matching "##other" with the given
+     * target namespace <code>pTargetNamespace</code>.</p>
+     */
+    public static class Other extends XsNamespaceList {
+    	private final XsAnyURI[] uris;
+    	protected Other(XsAnyURI pTargetNamespace) {
+    		if (pTargetNamespace == null) {
+                pTargetNamespace = new XsAnyURI("");
+            }
+    		uris = new XsAnyURI[]{pTargetNamespace};
+        }
+        /** @return false
+         */
+    	public boolean isAny() { return false; }
+    	/** @return true
+    	 */
+        public boolean isOther() { return true; }
+        /** @return An array with a single element (the target namespace or "")
+         */
+        public XsAnyURI[] getUris() { return uris; }
+        /** @return The string "##other".
+         */
+        public String toString() { return "##other"; }
+        /** <p>Returns getUris()[0].hashCode().</p>
+         */
+        public int hashCode() { return getUris()[0].hashCode(); }
+        /** <p>Returns, whether this is an instance of
+         * {@link Other} with the same target namespace.</p>
+         */
+        public boolean equals(Object pOther) {
+        	return pOther != null
+                && (pOther instanceof Other)
+                && getUris()[0].equals(((Other) pOther).getUris()[0]);
+        }
+    }
+
+    /**
+     * Default implementation of {@link XsNamespaceList}.
+     */
+    public static class Basic extends XsNamespaceList {
+        private final XsAnyURI[] uris;
+        private final String toStr;
+        protected Basic(String pValue, XsAnyURI pTargetNamespace) {
+            toStr = pValue;
+            List list = new ArrayList();
+            if (pTargetNamespace == null) {
+            	pTargetNamespace = new XsAnyURI("");
+            }
+            for (StringTokenizer st = new StringTokenizer(pValue);  st.hasMoreTokens();  ) {
+                String s = st.nextToken();
+                final XsAnyURI uri;
+                if ("##targetNamespace".equals(s)) {
+                	uri = pTargetNamespace;
+                } else if ("##local".equals(pTargetNamespace)) {
+                	uri = new XsAnyURI("");
+                } else {
+                    uri = new XsAnyURI(s);
+                }
+                if (!list.contains(uri)) {
+                    list.add(uri);
+                }
+            }
+            uris = (XsAnyURI[]) list.toArray(new XsAnyURI[list.size()]);
+        }
+        /** @return false
+         */
+        public boolean isAny() { return false; }
+        /** @return false
+         */
+        public boolean isOther() { return false; }
+        /** @return An array with the URI's specified in the
+         * 'namespace' attribute.
+         */
+        public XsAnyURI[] getUris() { return uris; }
+        /** @return The unmodified value of the 'namespace' attribute.
+         */
+        public String toString() { return toStr; }
+        /** @return An hash code suitable for applying
+         * {@link Arrays#equals(Object[], Object[])} on
+         * the result of {@link #getUris()}.</p>
+         */
+        public int hashCode() {
+            XsAnyURI[] uris = getUris();
+            int hash = uris.length;
+            for (int i = 0;  i < uris.length;  i++) {
+                hash += uris[i].hashCode();
+            }
+            return hash;
+        }
+        /** <p>Implemented with {@link Arrays#equals(Object[], Object[])}
+         * and the result of {@link #getUris()}.</p>
+         */
+        public boolean equals(Object pOther) {
+        	return pOther != null
+                &&  pOther instanceof Basic
+                &&  Arrays.equals(getUris(), ((Basic) pOther).getUris());
+        }
+    }
+
+    /** <p>Returns a namespace list, matching the 'namespace' attribute
+     * given by <code>pValue</code>. The given target namespace is used,
+     * if required.</p>
+     */
+    public static XsNamespaceList valueOf(String pValue, XsAnyURI pTargetNamespace) {
+		if ("##any".equals(pValue)) {
+			return ANY;
+        } else if ("##other".equals(pValue)) {
+            return new Other(pTargetNamespace);
+        } else {
+            return new Basic(pValue, pTargetNamespace);
+        }
+	}
+
+  /** <p>Returns whether the namespace list matches <code>##any</code>.
+   * If this is the case, then {@link #isOther()} returns false
+   * and {@link #getUris()} returns null.</p>
+   */
+  public abstract boolean isAny();
+
+  /** <p>Returns whether the namespace list matches <code>##other</code>.
+   * If the result is true, then {@link #getUris()} may be used to
+   * obtain an array with a single element, the target namespace.</p>
+   */
+  public abstract boolean isOther();
+
+  /** <p>Returns the array of URI's specified in the namespace list.
+   * If {@link #isAny()} returns true, then the result is null.
+   * If {@link #isOther()} returns true, then the result is an
+   * array with a single element: The target namespace or "" for
+   * an absent namespace.</p>
+   */
+  public abstract XsAnyURI[] getUris();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObject.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObject.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObject.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObject.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+
+
+/** Base interface for type, attribute, element, or whatever object.
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsObject {
+  /** Returns the objects syntactical schema.
+   */
+  public XsESchema getXsESchema();
+
+  /** Returns whether the object is a top-level object. This is
+   * the case for the XsESchema itself and for all its childs only.
+   */
+  public boolean isTopLevelObject();
+
+  /** Returns information on the parent object.<br>
+   * More precisely, returns either of the following:
+   * <ul>
+   *   <li>If the object is the schema itself, returns null. The
+   *     schema doesn't have a parent object.</p>
+   *   <li>If the object is a top-level object, returns the
+   *     schema.</p>
+   *   <li>Otherwise returns the object in which the given object
+   *     is embedded.</li>
+   * </ul>
+   */
+  public XsObject getParentObject();
+
+  /** Returns the {@link XsObjectFactory object factory}, that
+   * created this instance.
+   */ 
+  public XsObjectFactory getObjectFactory();
+
+  /** Returns the SAX {@link Locator} with the instances
+   * location.
+   */
+  public Locator getLocator();
+
+  /** Validates the internal state of the type, attribute, element,
+   * or whatever object.
+   */
+  public void validate() throws SAXException;
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObjectFactory.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObjectFactory.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObjectFactory.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsObjectFactory.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.ws.jaxme.xs.parser.XsSAXParser;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+
+
+/**
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsObjectFactory {
+  public Locator getLocator();
+  public XMLReader newXMLReader(boolean pValidating) throws ParserConfigurationException, SAXException;
+  public XsAGDefRef newXsAGDefRef(XsObject pOwner);
+  public XsAGOccurs newXsAGOccurs(XsObject pOwner);
+  public XsEAnnotation newXsEAnnotation(XsObject pParent);
+  public XsEAny newXsEAny(XsObject pParent);
+  public XsEAppinfo newXsEAppinfo(XsObject pParent);
+  public XsEComplexContent newXsEComplexContent(XsObject pParent);
+  public XsEChoice newXsEChoice(XsObject pParent);
+  public XsEDocumentation newXsEDocumentation(XsObject pParent);
+  public XsEEnumeration newXsEEnumeration(XsObject pParent);
+  public XsEField newXsEField(XsObject pParent);
+  public XsEFractionDigits newXsEFractionDigits(XsObject pParent);
+  public XsEKey newXsEKey(XsObject pParent);
+  public XsEImport newXsEImport(XsObject pParent);
+  public XsEInclude newXsEInclude(XsObject pParent);
+  public XsEKeyref newXsEKeyref(XsObject pParent);
+  public XsELength newXsELength(XsObject pParent);
+  public XsEList newXsEList(XsObject pParent);
+  public XsEMaxExclusive newXsEMaxExclusive(XsObject pParent);
+  public XsEMaxInclusive newXsEMaxInclusive(XsObject pParent);
+  public XsEMaxLength newXsEMaxLength(XsObject pParent);
+  public XsEMinExclusive newXsEMinExclusive(XsObject pParent);
+  public XsEMinInclusive newXsEMinInclusive(XsObject pParent);
+  public XsEMinLength newXsEMinLength(XsObject pParent);
+  public XsENotation newXsENotation(XsObject pParent);
+  public XsEPattern newXsEPattern(XsObject pParent);
+  public XsERedefine newXsERedefine(XsObject pParent);
+  public XsERestriction newXsERestriction(XsObject pParent);
+  public XsESchema newXsESchema();
+  public XsESelector newXsESelector(XsObject pParent);
+  public XsESequence newXsESequence(XsObject pParent);
+  public XsESimpleContent newXsESimpleContent(XsObject pParent);
+  public XsETopLevelSimpleType newXsETopLevelSimpleType(XsObject pParent);
+  public XsETotalDigits newXsETotalDigits(XsObject pParent);
+  public XsEUnion newXsEUnion(XsObject pParent);
+  public XsEUnique newXsEUnique(XsObject pParent);
+  public XsEWhiteSpace newXsEWhiteSpace(XsObject pParent);
+  public XsGAllModel newXsGAllModel(XsObject pParent);
+  public XsGAttrDecls newXsGAttrDecls(XsObject pOwner);
+  public XsGIdentityConstraint newXsGIdentityConstraint(XsObject pOwner);
+  public XsGParticle newXsGParticle(XsObject pOwner);
+  public XsGComplexTypeModel newXsGComplexTypeModel(XsObject pOwner);
+  public XsGSimpleRestrictionModel newXsGSimpleRestrictionModel(XsObject pOwner);
+  public XsGTypeDefParticle newXsGTypeDefParticle(XsObject pOwner);
+  public XsSAXParser newXsSAXParser();
+  public XsSAXParser newXsSAXParser(Object pBean);
+  public XsTAll newXsTAll(XsObject pParent);
+  public XsTAnnotated newXsTAnnotated(XsObject pParent);
+  public XsTAttribute newXsTAttribute(XsObject pParent);
+  public XsTAttributeGroup newXsTAttributeGroup(XsObject pParent);
+  public XsTAttributeGroupRef newXsTAttributeGroupRef(XsObject pParent);
+  public XsTComplexRestrictionType newXsTComplexRestrictionType(XsObject pParent);
+  public XsTComplexType newXsTComplexType(XsObject pParent);
+  public XsTExtensionType newXsTExtensionType(XsObject pParent);
+  public XsTLocalElement newXsTLocalElement(XsObject pParent);
+  /** <p>Creates a new instance of {@link XsTLocalElement}, which
+   * is located inside of an <code>xs:all</code> group. The
+   * element ensures that its <code>minOccurs</code> and
+   * <code>maxOccurs</code> values are 0 or 1.</p>
+   */
+  public XsTLocalElement newXsTLocalAllElement(XsObject pParent);
+  public XsTLocalComplexType newXsTLocalComplexType(XsObject pParent);
+  public XsTLocalSimpleType newXsTLocalSimpleType(XsObject pParent);
+  public XsTNamedGroup newXsTNamedGroup(XsObject pParent);
+  public XsTGroup newXsTGroup(XsObject pParent);
+  public XsTGroupRef newXsTGroupRef(XsObject pParent);
+  public XsTSimpleExplicitGroup newXsTSimpleExplicitGroup(XsObject pParent);
+  public XsTSimpleExtensionType newXsTSimpleExtensionType(XsObject pParent);
+  public XsTSimpleRestrictionType newXsTSimpleRestrictionType(XsObject pParent);
+  public XsTTopLevelElement newXsTTopLevelElement(XsObject pParent);
+  public XsTWildcard newXsTWildcard(XsObject pParent);
+}
\ No newline at end of file

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsQName.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsQName.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsQName.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsQName.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Implementation of <code>xs:qName</code>.</p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class XsQName {
+  private final String namespaceURI;
+  private final String localName;
+  private final String prefix;
+
+  public XsQName(XsAnyURI pNamespaceURI, String pLocalName) {
+    this(pNamespaceURI == null ? null : pNamespaceURI.getURI(), pLocalName, null);
+  }
+
+  public XsQName(XsAnyURI pNamespaceURI, String pLocalName, String pPrefix) {
+    this(pNamespaceURI == null ? null : pNamespaceURI.getURI(), pLocalName, pPrefix);
+  }
+
+  public XsQName(String pNamespaceURI, String pLocalName) {
+    this(pNamespaceURI, pLocalName, null);
+  }
+
+  public XsQName(String pNamespaceURI, String pLocalName, String pPrefix) {
+    namespaceURI = (pNamespaceURI == null) ? "" : pNamespaceURI;
+    if (pLocalName == null) {
+      throw new NullPointerException("The localName must not be null.");
+    }
+    int offset = pLocalName.indexOf(':');
+    if (offset >= 0) {
+    	throw new IllegalArgumentException("The localName " + pLocalName +
+                                           " is invalid, because it contains a namespace prefix.");
+    }
+    localName = pLocalName;
+    prefix = pPrefix;
+  }
+
+  public String getNamespaceURI() { return namespaceURI; }
+  public String getLocalName() { return localName; }
+  public String getPrefix() { return prefix; }
+
+  public boolean equals(Object pObject) {
+    if (pObject == null  ||  !(pObject instanceof XsQName)) {
+      return false;
+    }
+    XsQName name = (XsQName) pObject;
+    return name.getNamespaceURI().equals(getNamespaceURI())
+    	&&  name.getLocalName().equals(getLocalName());
+  }
+
+  public int hashCode() {
+      return getNamespaceURI().hashCode() + getLocalName().hashCode();
+  }
+
+  public String toString() {
+    if ("".equals(namespaceURI)) { return localName; }
+    return "{" + namespaceURI + "}" + localName;
+  }
+
+  public static String prefixOf(String pQName) {
+    int offset = pQName.indexOf(':');
+    if (offset > 0) {
+      return pQName.substring(0, offset);
+    } else {
+      return "";
+    }
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsRedefinable.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsRedefinable.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsRedefinable.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsRedefinable.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>A common base interface for {@link org.apache.ws.jaxme.xs.xml.XsETopLevelSimpleType},
+ * {@link org.apache.ws.jaxme.xs.xml.XsTComplexType}, {@link org.apache.ws.jaxme.xs.xml.XsTGroup},
+ * and {@link org.apache.ws.jaxme.xs.xml.XsTAttributeGroup}.
+ * <pre>
+ *  &lt;xs:group name="redefinable"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        This group is for the elements which can self-redefine
+ *        (see &lt;redefine&gt; below).
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:choice&gt;
+ *      &lt;xs:element ref="xs:simpleType"/&gt;
+ *      &lt;xs:element ref="xs:complexType"/&gt;
+ *      &lt;xs:element ref="xs:group"/&gt;
+ *      &lt;xs:element ref="xs:attributeGroup"/&gt;
+ *    &lt;/xs:choice&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsRedefinable {
+
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSchemaHeader.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSchemaHeader.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSchemaHeader.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSchemaHeader.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>This interface contains the data contained in the schemas
+ * root element.</p>
+ */
+public interface XsSchemaHeader {
+	/** <p>Returns the "form" attributes default value for attributes.</p>
+	 */
+	public XsFormChoice getAttributeFormDefault();
+
+	/** <p>Returns the "block" attributes default value.</p>
+	 */
+	public XsBlockSet getBlockDefault();
+
+	/** <p>Returns the "form" attributes default value for elements.</p>
+	 */
+	public XsFormChoice getElementFormDefault();
+
+	/** <p>Returns the "final" attributes default value.</p>
+	 */
+	public XsDerivationSet getFinalDefault();
+
+	/** <p>Returns the schemas ID.</p>
+	 */
+	public XsID getId();
+
+	/** <p>Returns the target namespace.</p>
+	 */
+	public XsAnyURI getTargetNamespace();
+
+	/** <p>Returns the schema version.</p>
+	 */
+	public XsToken getVersion();
+
+	/** <p>Returns a prefix associated with the target namespace or null, if
+	 * no such prefix is available.</p>
+	 */
+	String getTargetNamespacePrefix();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSimpleDerivationSet.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSimpleDerivationSet.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSimpleDerivationSet.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsSimpleDerivationSet.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import java.util.StringTokenizer;
+
+/** <p>Implementation of <code>xs:derivationset</code>.
+ * Follows this specification:
+ * <pre>
+ *  &lt;xs:simpleType name="simpleDerivationSet"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        #all or (possibly empty) subset of {restriction, union, list}
+ *      &lt;/xs:documentation&gt;
+ *      &lt;xs:documentation&gt;
+ *        A utility type, not for public use
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:union&gt;
+ *      &lt;xs:simpleType&gt;
+ *        &lt;xs:restriction base="xs:token"&gt;
+ *          &lt;xs:enumeration value="#all"/&gt;
+ *        &lt;/xs:restriction&gt;
+ *      &lt;/xs:simpleType&gt;
+ *      &lt;xs:simpleType&gt;
+ *        &lt;xs:restriction base="xs:derivationControl"&gt;
+ *          &lt;xs:enumeration value="list"/&gt;
+ *          &lt;xs:enumeration value="union"/&gt;
+ *          &lt;xs:enumeration value="restriction"/&gt;
+ *        &lt;/xs:restriction&gt;
+ *      &lt;/xs:simpleType&gt;
+ *    &lt;/xs:union&gt;
+ *  &lt;/xs:simpleType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public class XsSimpleDerivationSet {
+  final boolean listAllowed, unionAllowed, restrictionAllowed;
+
+  /** <p>Returns whether derivation of lists is allowed.</p>
+   */
+  public boolean isListAllowed() {
+    return listAllowed;
+  }
+
+  /** <p>Returns whether derivation of unions is allowed.</p>
+   */
+  public boolean isUnionAllowed() {
+    return unionAllowed;
+  }
+
+  /** <p>Returns whether derivation of restrictions is allowed.</p>
+   */
+  public boolean isRestrictionAllowed() {
+    return restrictionAllowed;
+  }
+
+  /** <p>Returns a <code>DerivationSet</code> matching the given
+   * value.</p>
+   */
+  public static XsSimpleDerivationSet valueOf(String pValue) {
+    return new XsSimpleDerivationSet(pValue);
+  }
+
+  /** <p>Creates a new DerivationSet with the given value.</p>
+   */
+  public XsSimpleDerivationSet(String pValue) {
+    if ("#all".equals(pValue)) {
+      listAllowed = true;
+      unionAllowed = true;
+      restrictionAllowed = true;
+    } else {
+      boolean acceptList = false;
+      boolean acceptUnion = false;
+      boolean acceptRestriction = false;
+      for (StringTokenizer st = new StringTokenizer(pValue, " ");  st.hasMoreTokens();  ) {
+        String s = st.nextToken();
+        if ("list".equals(s)) {
+          acceptList = true;
+        } else if ("union".equals(s)) {
+          acceptUnion = true;
+        } else if ("restriction".equals(s)) {
+          acceptRestriction = true;
+        } else {
+          throw new IllegalArgumentException("Invalid derivation set value: " + pValue + "; the token " + s + " did not resolve to either of 'extension' or 'restriction'");
+        }
+      }
+      listAllowed = acceptList;
+      unionAllowed = acceptUnion;
+      restrictionAllowed = acceptRestriction;
+    }
+  }
+
+  public String toString() {
+    final StringBuffer sb = new StringBuffer();
+    if (listAllowed) {
+      sb.append("list");
+    }
+    if (unionAllowed) {
+      if (sb.length() > 0) {
+        sb.append(" ");
+      }
+      sb.append("union");
+    }
+    if (restrictionAllowed) {
+      if (sb.length() > 0) {
+        sb.append(" ");
+      }
+      sb.append("restriction");
+    }
+    return sb.toString();
+  }
+
+  public boolean equals(Object o) {
+    if (o == null  ||  !(XsSimpleDerivationSet.class.equals(o.getClass()))) {
+      return false;
+    }
+    XsSimpleDerivationSet ds = (XsSimpleDerivationSet) o;
+    return ds.listAllowed == listAllowed  &&
+            ds.unionAllowed == unionAllowed  &&
+            ds.restrictionAllowed == restrictionAllowed;
+  }
+
+  public int hashCode() {
+    int result = 0;
+    if (listAllowed) { result += 1; }
+    if (unionAllowed) { result += 2; }
+    if (restrictionAllowed) { result += 4; }
+    return result;
+  }
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAll.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAll.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAll.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAll.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Interface of the following type:
+ * <pre>
+ *   &lt;xs:complexType name="all"&gt;
+ *     &lt;xs:annotation&gt;
+ *       &lt;xs:documentation&gt;
+ *         Only elements allowed inside
+ *       &lt;/xs:documentation&gt;
+ *     &lt;/xs:annotation&gt;
+ *     &lt;xs:complexContent&gt;
+ *       &lt;xs:restriction base="xs:explicitGroup"&gt;
+ *         &lt;xs:group ref="xs:allModel"/&gt;
+ *         &lt;xs:attribute name="minOccurs" use="optional" default="1"&gt;
+ *           &lt;xs:simpleType&gt;
+ *             &lt;xs:restriction base="xs:nonNegativeInteger"&gt;
+ *               &lt;xs:enumeration value="0"/&gt;
+ *               &lt;xs:enumeration value="1"/&gt;
+ *             &lt;/xs:restriction&gt;
+ *           &lt;/xs:simpleType&gt;
+ *         &lt;/xs:attribute&gt;
+ *         &lt;xs:attribute name="maxOccurs" use="optional" default="1"&gt;
+ *           &lt;xs:simpleType&gt;
+ *             &lt;xs:restriction base="xs:allNNI"&gt;
+ *               &lt;xs:enumeration value="1"/&gt;
+ *             &lt;/xs:restriction&gt;
+ *           &lt;/xs:simpleType&gt;
+ *         &lt;/xs:attribute&gt;
+ *       &lt;/xs:restriction&gt;
+ *     &lt;/xs:complexContent&gt;
+ *   &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTAll extends XsTExplicitGroup, XsTTypeDefParticle {
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAnnotated.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAnnotated.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAnnotated.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAnnotated.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of an annotated element, as specified
+ * by the following:
+ * <pre>
+ *  &lt;xs:complexType name="annotated"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        This type is extended by all types which allow annotation
+ *        other than &lt;schema&gt; itself.
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:extension base="xs:openAttrs"&gt;
+ *        &lt;xs:sequence&gt;
+ *          &lt;xs:element ref="xs:annotation" minOccurs="0"/&gt;
+ *        &lt;/xs:sequence&gt;
+ *        &lt;xs:attribute name="id" type="xs:ID"/&gt;
+ *      &lt;/xs:extension&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTAnnotated extends XsTOpenAttrs {
+  public XsEAnnotation createAnnotation();
+  public XsEAnnotation getAnnotation();
+  public void setId(XsID pId);
+  public XsID getId();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttribute.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttribute.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttribute.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttribute.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import org.xml.sax.SAXException;
+
+
+/** <p>Interface of <code>xs:attribute</code>, following
+ * this specification:
+ * <pre>
+ *  &lt;xs:complexType name="attribute"&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:extension base="xs:annotated"&gt;
+ *        &lt;xs:sequence&gt;
+ *          &lt;xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/&gt;
+ *        &lt;/xs:sequence&gt;
+ *        &lt;xs:attributeGroup ref="xs:defRef"/&gt;
+ *        &lt;xs:attribute name="type" type="xs:QName"/&gt;
+ *        &lt;xs:attribute name="use" use="optional" default="optional"&gt;
+ *          &lt;xs:simpleType&gt;
+ *            &lt;xs:restriction base="xs:NMTOKEN"&gt;
+ *              &lt;xs:enumeration value="prohibited"/&gt;
+ *              &lt;xs:enumeration value="optional"/&gt;
+ *              &lt;xs:enumeration value="required"/&gt;
+ *            &lt;/xs:restriction&gt;
+ *          &lt;/xs:simpleType&gt;
+ *        &lt;/xs:attribute&gt;
+ *        &lt;xs:attribute name="default" type="xs:string"/&gt;
+ *        &lt;xs:attribute name="fixed" type="xs:string"/&gt;
+ *        &lt;xs:attribute name="form" type="xs:formChoice"/&gt;
+ *      &lt;/xs:extension&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTAttribute extends XsTAnnotated {
+  public static class Use {
+    private String value;
+    Use(String pValue) { value = pValue; }
+    public String toString() { return value; }
+    public String getValue() { return value; }
+    public static Use valueOf(String pValue) {
+      if ("prohibited".equals(pValue)) {
+        return PROHIBITED;
+      } else if ("optional".equals(pValue)) {
+        return OPTIONAL;
+      } else if ("required".equals(pValue)) {
+        return REQUIRED;
+      } else {
+        throw new IllegalArgumentException("Invalid value for Use: " + pValue + ", expected 'prohibited', 'optional', or 'use'");
+      }
+    }
+  }
+
+  public static final Use PROHIBITED = new Use("prohibited");
+  public static final Use OPTIONAL = new Use("optional");
+  public static final Use REQUIRED = new Use("required");
+
+  public XsTLocalSimpleType createSimpleType();
+
+  public XsTLocalSimpleType getSimpleType();
+
+  public void setType(XsQName pType);
+
+  public XsQName getType();
+
+  public void setUse(Use pUse);
+
+  public Use getUse();
+
+  public void setDefault(String pDefault);
+
+  public String getDefault();
+
+  public void setFixed(String pFixed);
+
+  public String getFixed();
+
+  public void setForm(XsFormChoice pForm) throws SAXException;
+
+  public XsFormChoice getForm();
+
+  public void setName(XsNCName pName);
+
+  public XsNCName getName();
+
+  public void setRef(XsQName pRef);
+
+  public XsQName getRef();
+
+  public boolean isGlobal();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroup.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroup.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroup.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroup.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Interface of an <code>xs:attributeGroup</code>,
+ * with the following specification:
+ * <pre>
+ *  &lt;xs:complexType name="attributeGroup" abstract="true"&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:extension base="xs:annotated"&gt;
+ *        &lt;xs:group ref="xs:attrDecls"/&gt;
+ *        &lt;xs:attributeGroup ref="xs:defRef"/&gt;
+ *      &lt;/xs:extension&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTAttributeGroup extends XsTAnnotated, XsAGDefRef, XsGAttrDecls, XsRedefinable {
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroupRef.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroupRef.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroupRef.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTAttributeGroupRef.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of the <code>xs:attributeGroupRef</code>
+ * type, specified as follows:
+ * <pre>
+ *  &lt;xs:complexType name="attributeGroupRef"&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:restriction base="xs:attributeGroup"&gt;
+ *        &lt;xs:sequence&gt;
+ *          &lt;xs:element ref="xs:annotation" minOccurs="0"/&gt;
+ *        &lt;/xs:sequence&gt;
+ *        &lt;xs:attribute name="ref" use="required" type="xs:QName"/&gt;
+ *        &lt;xs:attribute name="name" use="prohibited"/&gt;
+ *      &lt;/xs:restriction&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTAttributeGroupRef extends XsTAnnotated {
+  public void setRef(XsQName pRef);
+  public XsQName getRef();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexRestrictionType.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexRestrictionType.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexRestrictionType.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexRestrictionType.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Implementation of <code>xs:complexRestrictionType</code>,
+ * as specified by the following:
+ * <pre>
+ *  &lt;xs:complexType name="complexRestrictionType"&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:restriction base="xs:restrictionType"&gt;
+ *        &lt;xs:sequence&gt;
+ *          &lt;xs:element ref="xs:annotation" minOccurs="0"/&gt;
+ *          &lt;xs:group ref="xs:typeDefParticle" minOccurs="0"/&gt;
+ *          &lt;xs:group ref="xs:attrDecls"/&gt;
+ *        &lt;/xs:sequence&gt;
+ *      &lt;/xs:restriction&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTComplexRestrictionType extends XsTRestrictionType {
+
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexType.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexType.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexType.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTComplexType.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+
+/** <p>Interface of a complex type, to be shared
+ * by {@link org.apache.ws.jaxme.xs.xml.XsTLocalComplexType} and
+ * {@link XsTComplexType}.
+ * Follows this specification:
+ * <pre>
+ *  &lt;xs:complexType name="complexType" abstract="true"&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:extension base="xs:annotated"&gt;
+ *        &lt;xs:group ref="xs:complexTypeModel"/&gt;
+ *        &lt;xs:attribute name="name" type="xs:NCName"&gt;
+ *          &lt;xs:annotation&gt;
+ *            &lt;xs:documentation&gt;
+ *              Will be restricted to required or forbidden
+ *            &lt;/xs:documentation&gt;
+ *          &lt;/xs:annotation&gt;
+ *        &lt;/xs:attribute&gt;
+ *        &lt;xs:attribute name="mixed" type="xs:boolean" use="optional" default="false"&gt;
+ *          &lt;xs:annotation&gt;
+ *            &lt;xs:documentation&gt;
+ *              Not allowed if simpleContent child is chosen.
+ *              May be overriden by setting on complexContent child.
+ *            &lt;/xs:documentation&gt;
+ *          &lt;/xs:annotation&gt;
+ *        &lt;/xs:attribute&gt;
+ *        &lt;xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/&gt;
+ *        &lt;xs:attribute name="final" type="xs:derivationSet"/&gt;
+ *        &lt;xs:attribute name="block" type="xs:derivationSet"/&gt;
+ *      &lt;/xs:extension&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ *
+ *  &lt;xs:group name="complexTypeModel"&gt;
+ *    &lt;xs:choice&gt;
+ *      &lt;xs:element ref="xs:simpleContent"/&gt;
+ *      &lt;xs:element ref="xs:complexContent"/&gt;
+ *      &lt;xs:sequence&gt;
+ *        &lt;xs:annotation&gt;
+ *          &lt;xs:documentation&gt;
+ *            This branch is short for &amp;lt;complexContent&amp;gt;
+ *            &amp;lt;restriction base="xs:anyType"&amp;gt;
+ *            ...
+ *            &amp;lt;/restriction&amp;gt;
+ *            &amp;lt;/complexContent&amp;gt;
+ *          &lt;/xs:documentation&gt;
+ *        &lt;/xs:annotation&gt;
+ *        &lt;xs:group ref="xs:typeDefParticle" minOccurs="0"/&gt;
+ *        &lt;xs:group ref="xs:attrDecls"/&gt;
+ *      &lt;/xs:sequence&gt;
+ *    &lt;/xs:choice&gt;
+ *  &lt;/xs:group&gt;
+ *
+ *  &lt;xs:group name="typeDefParticle"&gt;
+ *    &lt;xs:annotation&gt;
+ *      &lt;xs:documentation&gt;
+ *        'complexType' uses this
+ *      &lt;/xs:documentation&gt;
+ *    &lt;/xs:annotation&gt;
+ *    &lt;xs:choice&gt;
+ *      &lt;xs:element name="group" type="xs:groupRef"/&gt;
+ *      &lt;xs:element ref="xs:all"/&gt;
+ *      &lt;xs:element ref="xs:choice"/&gt;
+ *      &lt;xs:element ref="xs:sequence"/&gt;
+ *    &lt;/xs:choice&gt;
+ *  &lt;/xs:group&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTComplexType extends XsTAnnotated, XsGTypeDefParticle, XsGAttrDecls, XsRedefinable {
+  public void setMixed(boolean pMixed);
+  public boolean isMixed();
+
+  public void setAbstract(boolean pAbstract);
+  public boolean isAbstract();
+
+  public XsESimpleContent createSimpleContent();
+
+  public XsESimpleContent getSimpleContent();
+
+  public XsEComplexContent createComplexContent();
+
+  public XsEComplexContent getComplexContent();
+
+  public void setName(XsNCName pName);
+
+  public XsNCName getName();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTElement.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTElement.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTElement.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTElement.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+import org.xml.sax.SAXException;
+
+
+/** <p>Implementation of the <code>xs:element</code> type,
+ * as specified by the following:
+ * <pre>
+ *  <xs:complexType name="element" abstract="true">
+ *    <xs:annotation>
+ *      <xs:documentation>
+ *        The element element can be used either
+ *        at the top level to define an element-type binding globally,
+ *        or within a content model to either reference a globally-defined
+ *        element or type or declare an element-type binding locally.
+ *        The ref form is not allowed at the top level.
+ *      </xs:documentation>
+ *    </xs:annotation>
+ *    <xs:complexContent>
+ *      <xs:extension base="xs:annotated">
+ *        <xs:sequence>
+ *          <xs:choice minOccurs="0">
+ *            <xs:element name="simpleType" type="xs:localSimpleType"/>
+ *            <xs:element name="complexType" type="xs:localComplexType"/>
+ *          </xs:choice>
+ *          <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
+ *        </xs:sequence>
+ *        <xs:attributeGroup ref="xs:defRef"/>
+ *        <xs:attribute name="type" type="xs:QName"/>
+ *        <xs:attribute name="substitutionGroup" type="xs:QName"/>
+ *        <xs:attributeGroup ref="xs:occurs"/>
+ *        <xs:attribute name="default" type="xs:string"/>
+ *        <xs:attribute name="fixed" type="xs:string"/>
+ *        <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>
+ *        <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
+ *        <xs:attribute name="final" type="xs:derivationSet"/>
+ *        <xs:attribute name="block" type="xs:blockSet"/>
+ *        <xs:attribute name="form" type="xs:formChoice"/>
+ *      </xs:extension>
+ *    </xs:complexContent>
+ *  </xs:complexType>
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTElement extends XsTAnnotated, XsAGDefRef, XsAGOccurs, XsGIdentityConstraint {
+  public XsTLocalSimpleType createSimpleType() throws SAXException;
+  public XsTLocalSimpleType getSimpleType();
+
+  public XsTLocalComplexType createComplexType() throws SAXException;
+  public XsTLocalComplexType getComplexType();
+
+  public void setType(XsQName pType) throws SAXException;
+  public XsQName getType();
+
+  public void setSubstitutionGroup(XsQName pSubstitutionGroup) throws SAXException;
+  public XsQName getSubstitutionGroup();
+
+  public void setDefault(String pDefault);
+  public String getDefault();
+
+  public void setFixed(String pFixed);
+  public String getFixed();
+
+  public void setNillable(boolean pNillable);
+  public boolean getNillable();
+
+  public void setAbstract(boolean pAbstract);
+  public boolean getAbstract();
+
+  public void setFinal(XsDerivationSet pFinal);
+  public XsDerivationSet getFinal();
+
+  public void setBlock(XsBlockSet pBlock);
+  public XsBlockSet getBlock();
+
+  public void setForm(XsFormChoice pForm);
+  public XsFormChoice getForm();
+
+  public boolean isGlobal();
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExplicitGroup.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExplicitGroup.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExplicitGroup.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExplicitGroup.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of the <code>xs:explicitGroup</code>
+ * type, as specified by the following:
+ * <pre>
+ *  <xs:complexType name="explicitGroup">
+ *    <xs:annotation>
+ *      <xs:documentation>
+ *        group type for the three kinds of group
+ *      </xs:documentation>
+ *    </xs:annotation>
+ *    <xs:complexContent>
+ *      <xs:restriction base="xs:group">
+ *        <xs:sequence>
+ *          <xs:element ref="xs:annotation" minOccurs="0"/>
+ *          <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
+ *        </xs:sequence>
+ *        <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
+ *        <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
+ *      </xs:restriction>
+ *    </xs:complexContent>
+ *  </xs:complexType>
+ * </pre></p>
+ * <p><em>Implementation note:</em> This interface doesn't specify
+ * any additional methods. However, the implementations <code>validate()</code>
+ * method must ensure that
+ * <ol>
+ *   <li>neither of the 'name' or 'ref' attributes are set</li>
+ *   <li>Either of the 'all', 'choice', 'sequence', 'any', or 'group'
+ *     child elements is set, but not the 'all' element.</li>
+ * </ol>
+ * </p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTExplicitGroup extends XsTGroup {
+
+}

Added: webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExtensionType.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExtensionType.java?view=auto&rev=478855
==============================================================================
--- webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExtensionType.java (added)
+++ webservices/jaxme/branches/MAVEN/jaxme-xs/src/main/java/org/apache/ws/jaxme/xs/xml/XsTExtensionType.java Fri Nov 24 04:14:48 2006
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2003, 2004  The Apache Software Foundation
+ * 
+ * Licensed 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.
+
+ */
+package org.apache.ws.jaxme.xs.xml;
+
+/** <p>Interface of the <code>xs:extensionType</code> type, as
+ * specified by:
+ * <pre>
+ *  &lt;xs:complexType name="extensionType"&gt;
+ *    &lt;xs:complexContent&gt;
+ *      &lt;xs:extension base="xs:annotated"&gt;
+ *        &lt;xs:sequence&gt;
+ *          &lt;xs:group ref="xs:typeDefParticle" minOccurs="0"/&gt;
+ *          &lt;xs:group ref="xs:attrDecls"/&gt;
+ *        &lt;/xs:sequence&gt;
+ *        &lt;xs:attribute name="base" type="xs:QName" use="required"/&gt;
+ *      &lt;/xs:extension&gt;
+ *    &lt;/xs:complexContent&gt;
+ *  &lt;/xs:complexType&gt;
+ * </pre></p>
+ *
+ * @author <a href="mailto:joe@ispsoft.de">Jochen Wiedmann</a>
+ */
+public interface XsTExtensionType extends XsTAnnotated, XsGTypeDefParticle, XsGAttrDecls {
+  public void setBase(XsQName pBase);
+  public XsQName getBase();
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org