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>
+ * <xs:simpleType name="formChoice">
+ * <xs:annotation>
+ * <xs:documentation>
+ * A utility type, not for public use
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:restriction base="xs:NMTOKEN">
+ * <xs:enumeration value="qualified"/>
+ * <xs:enumeration value="unqualified"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </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>
+ * <xs:group name="allModel">
+ * <xs:sequence>
+ * <xs:element ref="xs:annotation" minOccurs="0"/>
+ * <xs:element name="element" minOccurs="0" maxOccurs="unbounded">
+ * <xs:complexType>
+ * <xs:annotation>
+ * <xs:documentation>restricted max/min</xs:documentation>
+ * </xs:annotation>
+ * <xs:complexContent>
+ * <xs:restriction base="xs:localElement">
+ * <xs:sequence>
+ * <xs:element ref="xs:annotation" minOccurs="0"/>
+ * <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:attribute name="minOccurs" use="optional" default="1">
+ * <xs:simpleType>
+ * <xs:restriction base="xs:nonNegativeInteger">
+ * <xs:enumeration value="0"/>
+ * <xs:enumeration value="1"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:attribute>
+ * <xs:attribute name="maxOccurs" use="optional" default="1">
+ * <xs:simpleType>
+ * <xs:restriction base="xs:allNNI">
+ * <xs:enumeration value="0"/>
+ * <xs:enumeration value="1"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:attribute>
+ * </xs:restriction>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </xs:element>
+ * </xs:sequence>
+ * </xs:group>
+ * </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>
+ * <xs:group name="attrDecls">
+ * <xs:sequence>
+ * <xs:choice minOccurs="0" maxOccurs="unbounded">
+ * <xs:element name="attribute" type="xs:attribute"/>
+ * <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
+ * </xs:choice>
+ * <xs:element ref="xs:anyAttribute" minOccurs="0"/>
+ * </xs:sequence>
+ * </xs:group>
+ * </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>
+ * <xs:group name="complexTypeModel">
+ * <xs:choice>
+ * <xs:element ref="xs:simpleContent"/>
+ * <xs:element ref="xs:complexContent"/>
+ * <xs:sequence>
+ * <xs:annotation>
+ * <xs:documentation>
+ * This branch is short for &lt;complexContent&gt;
+ * &lt;restriction base="xs:anyType"&gt;
+ * ...
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
+ * <xs:group ref="xs:attrDecls"/>
+ * </xs:sequence>
+ * </xs:choice>
+ * </xs:group>
+ * </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>
+ * <xs:group name="particle">
+ * <xs:choice>
+ * <xs:element name="element" type="xs:localElement"/>
+ * <xs:element name="group" type="xs:groupRef"/>
+ * <xs:element ref="xs:all"/>
+ * <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 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>
+ * <xs:group name="simpleRestrictionModel">
+ * <xs:sequence>
+ * <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
+ * <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
+ * </xs:sequence>
+ * </xs:group>
+ *
+ * <xs:group name="facets">
+ * <xs:annotation>
+ * <xs:documentation>
+ * 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.
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:choice>
+ * <xs:element ref="xs:minExclusive"/>
+ * <xs:element ref="xs:minInclusive"/>
+ * <xs:element ref="xs:maxExclusive"/>
+ * <xs:element ref="xs:maxInclusive"/>
+ * <xs:element ref="xs:totalDigits"/>
+ * <xs:element ref="xs:fractionDigits"/>
+ * <xs:element ref="xs:length"/>
+ * <xs:element ref="xs:minLength"/>
+ * <xs:element ref="xs:maxLength"/>
+ * <xs:element ref="xs:enumeration"/>
+ * <xs:element ref="xs:whiteSpace"/>
+ * <xs:element ref="xs:pattern"/>
+ * </xs:choice>
+ * </xs:group>
+ * </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>
+ * <xs:simpleType name="namespaceList">
+ * <xs:annotation>
+ * <xs:documentation>
+ * A utility type, not for public use
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:union>
+ * <xs:simpleType>
+ * <xs:restriction base="xs:token">
+ * <xs:enumeration value="##any"/>
+ * <xs:enumeration value="##other"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * <xs:simpleType>
+ * <xs:list>
+ * <xs:simpleType>
+ * <xs:union memberTypes="xs:anyURI">
+ * <xs:simpleType>
+ * <xs:restriction base="xs:token">
+ * <xs:enumeration value="##targetNamespace"/>
+ * <xs:enumeration value="##local"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:union>
+ * </xs:simpleType>
+ * </xs:list>
+ * </xs:simpleType>
+ * </xs:union>
+ * </xs:simpleType>
+ * </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>
+ * <xs:group name="redefinable">
+ * <xs:annotation>
+ * <xs:documentation>
+ * This group is for the elements which can self-redefine
+ * (see <redefine> below).
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:choice>
+ * <xs:element ref="xs:simpleType"/>
+ * <xs:element ref="xs:complexType"/>
+ * <xs:element ref="xs:group"/>
+ * <xs:element ref="xs:attributeGroup"/>
+ * </xs:choice>
+ * </xs:group>
+ * </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>
+ * <xs:simpleType name="simpleDerivationSet">
+ * <xs:annotation>
+ * <xs:documentation>
+ * #all or (possibly empty) subset of {restriction, union, list}
+ * </xs:documentation>
+ * <xs:documentation>
+ * A utility type, not for public use
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:union>
+ * <xs:simpleType>
+ * <xs:restriction base="xs:token">
+ * <xs:enumeration value="#all"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * <xs:simpleType>
+ * <xs:restriction base="xs:derivationControl">
+ * <xs:enumeration value="list"/>
+ * <xs:enumeration value="union"/>
+ * <xs:enumeration value="restriction"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:union>
+ * </xs:simpleType>
+ * </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>
+ * <xs:complexType name="all">
+ * <xs:annotation>
+ * <xs:documentation>
+ * Only elements allowed inside
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:complexContent>
+ * <xs:restriction base="xs:explicitGroup">
+ * <xs:group ref="xs:allModel"/>
+ * <xs:attribute name="minOccurs" use="optional" default="1">
+ * <xs:simpleType>
+ * <xs:restriction base="xs:nonNegativeInteger">
+ * <xs:enumeration value="0"/>
+ * <xs:enumeration value="1"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:attribute>
+ * <xs:attribute name="maxOccurs" use="optional" default="1">
+ * <xs:simpleType>
+ * <xs:restriction base="xs:allNNI">
+ * <xs:enumeration value="1"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:attribute>
+ * </xs:restriction>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </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>
+ * <xs:complexType name="annotated">
+ * <xs:annotation>
+ * <xs:documentation>
+ * This type is extended by all types which allow annotation
+ * other than <schema> itself.
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:complexContent>
+ * <xs:extension base="xs:openAttrs">
+ * <xs:sequence>
+ * <xs:element ref="xs:annotation" minOccurs="0"/>
+ * </xs:sequence>
+ * <xs:attribute name="id" type="xs:ID"/>
+ * </xs:extension>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </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>
+ * <xs:complexType name="attribute">
+ * <xs:complexContent>
+ * <xs:extension base="xs:annotated">
+ * <xs:sequence>
+ * <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
+ * </xs:sequence>
+ * <xs:attributeGroup ref="xs:defRef"/>
+ * <xs:attribute name="type" type="xs:QName"/>
+ * <xs:attribute name="use" use="optional" default="optional">
+ * <xs:simpleType>
+ * <xs:restriction base="xs:NMTOKEN">
+ * <xs:enumeration value="prohibited"/>
+ * <xs:enumeration value="optional"/>
+ * <xs:enumeration value="required"/>
+ * </xs:restriction>
+ * </xs:simpleType>
+ * </xs:attribute>
+ * <xs:attribute name="default" type="xs:string"/>
+ * <xs:attribute name="fixed" type="xs:string"/>
+ * <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 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>
+ * <xs:complexType name="attributeGroup" abstract="true">
+ * <xs:complexContent>
+ * <xs:extension base="xs:annotated">
+ * <xs:group ref="xs:attrDecls"/>
+ * <xs:attributeGroup ref="xs:defRef"/>
+ * </xs:extension>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </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>
+ * <xs:complexType name="attributeGroupRef">
+ * <xs:complexContent>
+ * <xs:restriction base="xs:attributeGroup">
+ * <xs:sequence>
+ * <xs:element ref="xs:annotation" minOccurs="0"/>
+ * </xs:sequence>
+ * <xs:attribute name="ref" use="required" type="xs:QName"/>
+ * <xs:attribute name="name" use="prohibited"/>
+ * </xs:restriction>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </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>
+ * <xs:complexType name="complexRestrictionType">
+ * <xs:complexContent>
+ * <xs:restriction base="xs:restrictionType">
+ * <xs:sequence>
+ * <xs:element ref="xs:annotation" minOccurs="0"/>
+ * <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
+ * <xs:group ref="xs:attrDecls"/>
+ * </xs:sequence>
+ * </xs:restriction>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </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>
+ * <xs:complexType name="complexType" abstract="true">
+ * <xs:complexContent>
+ * <xs:extension base="xs:annotated">
+ * <xs:group ref="xs:complexTypeModel"/>
+ * <xs:attribute name="name" type="xs:NCName">
+ * <xs:annotation>
+ * <xs:documentation>
+ * Will be restricted to required or forbidden
+ * </xs:documentation>
+ * </xs:annotation>
+ * </xs:attribute>
+ * <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
+ * <xs:annotation>
+ * <xs:documentation>
+ * Not allowed if simpleContent child is chosen.
+ * May be overriden by setting on complexContent child.
+ * </xs:documentation>
+ * </xs:annotation>
+ * </xs:attribute>
+ * <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
+ * <xs:attribute name="final" type="xs:derivationSet"/>
+ * <xs:attribute name="block" type="xs:derivationSet"/>
+ * </xs:extension>
+ * </xs:complexContent>
+ * </xs:complexType>
+ *
+ * <xs:group name="complexTypeModel">
+ * <xs:choice>
+ * <xs:element ref="xs:simpleContent"/>
+ * <xs:element ref="xs:complexContent"/>
+ * <xs:sequence>
+ * <xs:annotation>
+ * <xs:documentation>
+ * This branch is short for &lt;complexContent&gt;
+ * &lt;restriction base="xs:anyType"&gt;
+ * ...
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * </xs:documentation>
+ * </xs:annotation>
+ * <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
+ * <xs:group ref="xs:attrDecls"/>
+ * </xs:sequence>
+ * </xs:choice>
+ * </xs:group>
+ *
+ * <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 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>
+ * <xs:complexType name="extensionType">
+ * <xs:complexContent>
+ * <xs:extension base="xs:annotated">
+ * <xs:sequence>
+ * <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
+ * <xs:group ref="xs:attrDecls"/>
+ * </xs:sequence>
+ * <xs:attribute name="base" type="xs:QName" use="required"/>
+ * </xs:extension>
+ * </xs:complexContent>
+ * </xs:complexType>
+ * </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