Am having trouble with castor 0.9.3.9

I want to marshall using schema generated classes, but because it makes 
the order of sequence wrong I have to turn the validator of the parser 
on. But it gives this error:

org.xml.sax.SAXException: Document root element "test", must match 
DOCTYPE root "null".
        at 
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:979)
        at 
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:338)
        at 
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:270)
        at 
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:391)
        at dk.ifad.scenario.v2.ast.Test.unmarshalTest(Test.java:125)
        at dk.ifad.scenario.v2.ScenarioTester.main(ScenarioTester.java:17)


The xml file and schema are validated in XMLSpy and are valid. And the 
filedescripterfiles is compiled.

I have attached the generated files, property files, schema, xml file 
input(TranslatorTest) and the marshalled xml file(TranslatorTest-out).

I saw a solution here: 
http://lists.w3.org/Archives/Public/xmlschema-dev/2001Dec/0085.html, but 
do not know how to do that with castor.

Btw. there is another error; a strange attribute (any-object-count="0") 
gets written down when marshalling, look at the attached file, but it 
destroys the validity of the xml file, please help with that too. thanks.

Btw2. there is yet another error, as can be seen in the marshalled file; 
the attribute "name" of "ext" gets marshalled as an element!?

Any feedback will be appreciated
Nikolai
# THE CASTOR PROPERTIES FILE
# This file specifies values for Castor run-time 
# which may be configured by the user.
# $Id: castor.properties,v 1.21 2001/01/11 02:24:35 kvisco Exp $

# Defines the default XML parser to be used by castor
# The parser must implement org.xml.sax.Parser
#
org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser


# Defines the default XML serializer to be used by castor
# The serializer must implement org.apache.xml.serialize.Serializer
#
org.exolab.castor.serializer=org.apache.xml.serialize.XMLSerializer


# Defines the NodeType for use with Java primitive types (int, long,
# boolean, etc). This value is only used by the Introspector.
# valid values are either "attribute" or "element". By default
# all primitives are marshalled as attributes. Simply uncomment
# the following line to change the NodeType to element.
#
#org.exolab.castor.xml.introspector.primitive.nodetype=element


# Defines the Naming "style" or conventions to use when
# creating XML names from Java class or field names. 
# Valid values are as follows:
# -----------------------------------------------------------------
# lower (default)  |  All names are lowercase with hyphens
#                  |  separating words.
#                  |
#                  |  Example: personInfo = person-info
# -----------------------------------------------------------------
# mixed            |  All names are mixed case, with Uppercase
#                  |  character as the first letter of a new word.
#                  |
#                  |  Example: personInfo = personInfo
#                  |  Example: FooBar     = fooBar
# -----------------------------------------------------------------
# {Any ClassName}  |  Any Class which implements 
#                  |  org.exolab.castor.xml.XMLNaming
# -----------------------------------------------------------------
#
# By default all names are treated as the "lower" option.
# To preserve the Java mixed-case conventions simply
# uncomment the following line. 
#
#org.exolab.castor.xml.naming=mixed


# Defines the Regular Expression Evaluator to be used by Castor
# The evaluator must implement org.exolab.castor.util.RegExpEvaluator
#
# An implementation which uses the Jakarta RE library
org.exolab.castor.regexp=org.exolab.castor.util.JakartaRegExpEvaluator
#
# Uncomment the following to basically supress evaluation of Regular expressions
#org.exolab.castor.regexp=org.exolab.castor.xml.util.AlwaysTrueRegExpEvaluator


# True if all documents should be indented on output by default
#
org.exolab.castor.indent=true


# True if xml documents should be validated by the SAX Parser
#
org.exolab.castor.parser.validation=true
org.exolab.castor.parser.namespaces=true

# True if all documents should be validated by the marshalling framework
#
org.exolab.castor.marshalling.validation=true



# Comma separated list of SAX 2 features that should be enabled
# for the default parser.
#
#org.exolab.castor.features=


# True if should produce verbose messages
#
org.exolab.castor.debug=true


# List of collection handlers for Java 1.1 and Java 1.2 run-times
#
org.exolab.castor.mapping.collections=\
  org.exolab.castor.mapping.loader.J1CollectionHandlers,\
  org.exolab.castor.mapping.loader.J2CollectionHandlers


# List of persistence factories for the supported database servers
#
org.exolab.castor.jdo.engines=\
  org.exolab.castor.jdo.drivers.OracleFactory,\
  org.exolab.castor.jdo.drivers.PostgreSQLFactory,\
  org.exolab.castor.jdo.drivers.SybaseFactory,\
  org.exolab.castor.jdo.drivers.SQLServerFactory,\
  org.exolab.castor.jdo.drivers.DB2Factory,\
  org.exolab.castor.jdo.drivers.InformixFactory,\
  org.exolab.castor.jdo.drivers.HsqlFactory,\
  org.exolab.castor.jdo.drivers.InstantDBFactory,\
  org.exolab.castor.jdo.drivers.InterbaseFactory,\
  org.exolab.castor.jdo.drivers.MySQLFactory,\
  org.exolab.castor.jdo.drivers.SapDbFactory,\
  org.exolab.castor.jdo.drivers.GenericFactory


# List of key generator factories 
#
org.exolab.castor.jdo.keyGeneratorFactories=\
  org.exolab.castor.jdo.drivers.MaxKeyGeneratorFactory,\
  org.exolab.castor.jdo.drivers.HighLowKeyGeneratorFactory,\
  org.exolab.castor.jdo.drivers.IdentityKeyGeneratorFactory,\
  org.exolab.castor.jdo.drivers.SequenceKeyGeneratorFactory,\
  org.exolab.castor.jdo.drivers.UUIDKeyGeneratorFactory


# Collection handlers for the source code generator
#
org.exolab.castor.builder.type.j2=\
  org.exolab.castor.builder.FieldInfoFactoryJ2
org.exolab.castor.builder.type.j1=\
  org.exolab.castor.builder.FieldInfoFactory
org.exolab.castor.builder.type.odmg=\
  org.exolab.castor.builder.FieldInfoFactoryODMG30



#
# Property file for SourceCodeGenerator
#
# $Id: castorbuilder.properties,v 1.7 2001/08/10 07:44:12 afawcett Exp $

# To enable bound properties uncomment the following line. Please
# note that currently *all* fields will be treated as bound properties
# when enabled. This will change in the future when we introduce
# fine grained control over each class and it's properties.
#
#org.exolab.castor.builder.boundproperties=true

# Java class mapping of <xsd:element>'s and <xsd:complexType>'s 
#
org.exolab.castor.builder.javaclassmapping=type

# This property allows one to specify the super class of *all* 
# generated classes
#
#org.exolab.castor.builder.superclass=com.xyz.BaseObject

# XML namespace mapping to Java packages
#
#org.exolab.castor.builder.nspackages=\
  http://www.xyz.com/schemas/project=com.xyz.schemas.project,\
  http://www.xyz.com/schemas/person=com.xyz.schemas.person

# Set to true if you want to generate the equals method
# for each generated class
# false by default
#org.exolab.castor.builder.equalsmethod=true

# Set to true if you want to use Object Wrappers instead
# of primitives (e.g Float instead of float).
# false by default.
org.exolab.castor.builder.primitivetowrapper=true

# Set to true if you want the generated class descriptors to
# expose the element and attribute names they contain.
# false by default.
#org.exolab.castor.builder.classdescfieldnames=false
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
	<xsd:element name="test">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="base" type="basic"/>
				<xsd:element name="ext" type="extended"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="basic">
		<xsd:sequence>
			<xsd:any minOccurs="0"/>
			<xsd:element name="ExtendedIDRef" type="xsd:IDREF" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:normalizedString" use="optional"/>
	</xsd:complexType>
	<xsd:complexType name="extended">
		<xsd:complexContent>
			<xsd:extension base="basic">
				<xsd:attribute name="ExtendedID" type="xsd:ID"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
</xsd:schema>
<?xml version="1.0" encoding="UTF-8"?>
<test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="n:\config\TranslatorTester.xsd">
	<base>
		<ExtendedIDRef>ID01</ExtendedIDRef>
	</base>
	<ext name="Some extended element" ExtendedID="ID01"/>
</test>
<?xml version="1.0"?>
<test>
    <ext any-object-count="0">
        <name>Some extended element</name>
    </ext>
    <base any-object-count="0"/>
</test>
/* * This class was automatically generated with * Castor 0.9.3, using an * XML Schema. * $Id$ */ package dk.ifad.scenario.v2.ast; //---------------------------------/ //- Imported classes and packages -/ //---------------------------------/ import java.io.Reader; import java.io.Serializable; import java.io.Writer; import java.util.ArrayList; import java.util.Enumeration; import org.exolab.castor.xml.*; import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.ValidationException; import org.xml.sax.DocumentHandler; /** * * @version $Revision$ $Date$ **/ public class Basic implements java.io.Serializable { //--------------------------/ //- Class/Member Variables -/ //--------------------------/ private java.lang.String _name; private java.util.ArrayList _anyObject; private java.lang.Object _extendedIDRef; //----------------/ //- Constructors -/ //----------------/ public Basic() { super(); _anyObject = new ArrayList(); } //-- dk.ifad.scenario.v2.ast.Basic() //-----------/ //- Methods -/ //-----------/ /** * * @param vAnyObject **/ public void addAnyObject(java.lang.Object vAnyObject) throws java.lang.IndexOutOfBoundsException { _anyObject.add(vAnyObject); } //-- void addAnyObject(java.lang.Object) /** * * @param index * @param vAnyObject **/ public void addAnyObject(int index, java.lang.Object vAnyObject) throws java.lang.IndexOutOfBoundsException { _anyObject.add(index, vAnyObject); } //-- void addAnyObject(int, java.lang.Object) /** **/ public void clearAnyObject() { _anyObject.clear(); } //-- void clearAnyObject() /** **/ public java.util.Enumeration enumerateAnyObject() { return new org.exolab.castor.util.IteratorEnumeration(_anyObject.iterator()); } //-- java.util.Enumeration enumerateAnyObject() /** * * @param index **/ public java.lang.Object getAnyObject(int index) throws java.lang.IndexOutOfBoundsException { //-- check bounds for index if ((index < 0) || (index > _anyObject.size())) { throw new IndexOutOfBoundsException(); } return (java.lang.Object) _anyObject.get(index); } //-- java.lang.Object getAnyObject(int) /** **/ public java.lang.Object[] getAnyObject() { int size = _anyObject.size(); java.lang.Object[] mArray = new java.lang.Object[size]; for (int index = 0; index < size; index++) { mArray[index] = (Object) _anyObject.get(index); } return mArray; } //-- java.lang.Object[] getAnyObject() /** **/ public int getAnyObjectCount() { return _anyObject.size(); } //-- int getAnyObjectCount() /** **/ public java.lang.Object getExtendedIDRef() { return this._extendedIDRef; } //-- java.lang.Object getExtendedIDRef() /** **/ public java.lang.String getName() { return this._name; } //-- java.lang.String getName() /** **/ public boolean isValid() { try { validate(); } catch (org.exolab.castor.xml.ValidationException vex) { return false; } return true; } //-- boolean isValid() /** * * @param out **/ public void marshal(java.io.Writer out) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { Marshaller.marshal(this, out); } //-- void marshal(java.io.Writer) /** * * @param handler **/ public void marshal(org.xml.sax.DocumentHandler handler) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { Marshaller.marshal(this, handler); } //-- void marshal(org.xml.sax.DocumentHandler) /** * * @param vAnyObject **/ public boolean removeAnyObject(java.lang.Object vAnyObject) { boolean removed = _anyObject.remove(vAnyObject); return removed; } //-- boolean removeAnyObject(java.lang.Object) /** * * @param index * @param vAnyObject **/ public void setAnyObject(int index, java.lang.Object vAnyObject) throws java.lang.IndexOutOfBoundsException { //-- check bounds for index if ((index < 0) || (index > _anyObject.size())) { throw new IndexOutOfBoundsException(); } _anyObject.set(index, vAnyObject); } //-- void setAnyObject(int, java.lang.Object) /** * * @param anyObjectArray **/ public void setAnyObject(java.lang.Object[] anyObjectArray) { //-- copy array _anyObject.clear(); for (int i = 0; i < anyObjectArray.length; i++) { _anyObject.add(anyObjectArray[i]); } } //-- void setAnyObject(java.lang.Object) /** * * @param extendedIDRef **/ public void setExtendedIDRef(java.lang.Object extendedIDRef) { this._extendedIDRef = extendedIDRef; } //-- void setExtendedIDRef(java.lang.Object) /** * * @param name **/ public void setName(java.lang.String name) { this._name = name; } //-- void setName(java.lang.String) /** * * @param reader **/ public static dk.ifad.scenario.v2.ast.Basic unmarshalBasic(java.io.Reader reader) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { return (dk.ifad.scenario.v2.ast.Basic) Unmarshaller.unmarshal(dk.ifad.scenario.v2.ast.Basic.class, reader); } //-- dk.ifad.scenario.v2.ast.Basic unmarshalBasic(java.io.Reader) /** **/ public void validate() throws org.exolab.castor.xml.ValidationException { org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); validator.validate(this); } //-- void validate() } /* * This class was automatically generated with * Castor 0.9.3, using an * XML Schema. * $Id$ */ package dk.ifad.scenario.v2.ast; //---------------------------------/ //- Imported classes and packages -/ //---------------------------------/ import org.exolab.castor.mapping.AccessMode; import org.exolab.castor.mapping.ClassDescriptor; import org.exolab.castor.mapping.FieldDescriptor; import org.exolab.castor.xml.*; import org.exolab.castor.xml.FieldValidator; import org.exolab.castor.xml.TypeValidator; import org.exolab.castor.xml.XMLFieldDescriptor; import org.exolab.castor.xml.handlers.*; import org.exolab.castor.xml.util.XMLFieldDescriptorImpl; import org.exolab.castor.xml.validators.*; /** * * @version $Revision$ $Date$ **/ public class BasicDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl { //--------------------------/ //- Class/Member Variables -/ //--------------------------/ private java.lang.String nsPrefix; private java.lang.String nsURI; private java.lang.String xmlName; private org.exolab.castor.xml.XMLFieldDescriptor identity; //----------------/ //- Constructors -/ //----------------/ public BasicDescriptor() { super(); xmlName = "basic"; XMLFieldDescriptorImpl desc = null; XMLFieldHandler handler = null; FieldValidator fieldValidator = null; //-- set grouping compositor setCompositorAsSequence(); //-- initialize attribute descriptors //-- _name desc = new XMLFieldDescriptorImpl(java.lang.String.class, "_name", "name", NodeType.Attribute); handler = (new XMLFieldHandler() { public Object getValue( Object object ) throws IllegalStateException { Basic target = (Basic) object; return target.getName(); } public void setValue( Object object, Object value) throws IllegalStateException, IllegalArgumentException { try { Basic target = (Basic) object; target.setName( (java.lang.String) value); } catch (Exception ex) { throw new IllegalStateException(ex.toString()); } } public Object newInstance( Object parent ) { return new java.lang.String(); } } ); desc.setHandler(handler); addFieldDescriptor(desc); //-- validation code for: _name fieldValidator = new FieldValidator(); { //-- local scope NameValidator nv = new NameValidator(NameValidator.CDATA); fieldValidator.setValidator(nv); } desc.setValidator(fieldValidator); //-- initialize element descriptors //-- _anyObject desc = new XMLFieldDescriptorImpl(java.lang.Object.class, "_anyObject", (String)null, NodeType.Element); handler = (new XMLFieldHandler() { public Object getValue( Object object ) throws IllegalStateException { Basic target = (Basic) object; return target.getAnyObject(); } public void setValue( Object object, Object value) throws IllegalStateException, IllegalArgumentException { try { Basic target = (Basic) object; target.addAnyObject( value ); } catch (Exception ex) { throw new IllegalStateException(ex.toString()); } } public Object newInstance( Object parent ) { return null; } } ); desc.setHandler(handler); desc.setMatches("*"); desc.setMultivalued(true); addFieldDescriptor(desc); //-- validation code for: _anyObject fieldValidator = new FieldValidator(); desc.setValidator(fieldValidator); //-- _extendedIDRef desc = new XMLFieldDescriptorImpl(java.lang.Object.class, "_extendedIDRef", "ExtendedIDRef", NodeType.Element); desc.setReference(true); handler = (new XMLFieldHandler() { public Object getValue( Object object ) throws IllegalStateException { Basic target = (Basic) object; return target.getExtendedIDRef(); } public void setValue( Object object, Object value) throws IllegalStateException, IllegalArgumentException { try { Basic target = (Basic) object; target.setExtendedIDRef( (java.lang.Object) value); } catch (Exception ex) { throw new IllegalStateException(ex.toString()); } } public Object newInstance( Object parent ) { return new java.lang.Object(); } } ); desc.setHandler(handler); desc.setMultivalued(false); addFieldDescriptor(desc); //-- validation code for: _extendedIDRef fieldValidator = new FieldValidator(); desc.setValidator(fieldValidator); } //-- dk.ifad.scenario.v2.ast.BasicDescriptor() //-----------/ //- Methods -/ //-----------/ /** **/ public org.exolab.castor.mapping.AccessMode getAccessMode() { return null; } //-- org.exolab.castor.mapping.AccessMode getAccessMode() /** **/ public org.exolab.castor.mapping.ClassDescriptor getExtends() { return null; } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() /** **/ public org.exolab.castor.mapping.FieldDescriptor getIdentity() { return identity; } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() /** **/ public java.lang.Class getJavaClass() { return dk.ifad.scenario.v2.ast.Basic.class; } //-- java.lang.Class getJavaClass() /** **/ public java.lang.String getNameSpacePrefix() { return nsPrefix; } //-- java.lang.String getNameSpacePrefix() /** **/ public java.lang.String getNameSpaceURI() { return nsURI; } //-- java.lang.String getNameSpaceURI() /** **/ public org.exolab.castor.xml.TypeValidator getValidator() { return this; } //-- org.exolab.castor.xml.TypeValidator getValidator() /** **/ public java.lang.String getXMLName() { return xmlName; } //-- java.lang.String getXMLName() } /* * This class was automatically generated with * Castor 0.9.3, using an * XML Schema. * $Id$ */ package dk.ifad.scenario.v2.ast; //---------------------------------/ //- Imported classes and packages -/ //---------------------------------/ import java.io.Reader; import java.io.Serializable; import java.io.Writer; import org.exolab.castor.xml.*; import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.ValidationException; import org.xml.sax.DocumentHandler; /** * * @version $Revision$ $Date$ **/ public class Extended extends dk.ifad.scenario.v2.ast.Basic implements java.io.Serializable { //--------------------------/ //- Class/Member Variables -/ //--------------------------/ private java.lang.String _extendedID; //----------------/ //- Constructors -/ //----------------/ public Extended() { super(); } //-- dk.ifad.scenario.v2.ast.Extended() //-----------/ //- Methods -/ //-----------/ /** **/ public java.lang.String getExtendedID() { return this._extendedID; } //-- java.lang.String getExtendedID() /** **/ public boolean isValid() { try { validate(); } catch (org.exolab.castor.xml.ValidationException vex) { return false; } return true; } //-- boolean isValid() /** * * @param out **/ public void marshal(java.io.Writer out) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { Marshaller.marshal(this, out); } //-- void marshal(java.io.Writer) /** * * @param handler **/ public void marshal(org.xml.sax.DocumentHandler handler) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { Marshaller.marshal(this, handler); } //-- void marshal(org.xml.sax.DocumentHandler) /** * * @param extendedID **/ public void setExtendedID(java.lang.String extendedID) { this._extendedID = extendedID; } //-- void setExtendedID(java.lang.String) /** * * @param reader **/ public static dk.ifad.scenario.v2.ast.Extended unmarshalExtended(java.io.Reader reader) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { return (dk.ifad.scenario.v2.ast.Extended) Unmarshaller.unmarshal(dk.ifad.scenario.v2.ast.Extended.class, reader); } //-- dk.ifad.scenario.v2.ast.Extended unmarshalExtended(java.io.Reader) /** **/ public void validate() throws org.exolab.castor.xml.ValidationException { org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); validator.validate(this); } //-- void validate() } /* * This class was automatically generated with * Castor 0.9.3, using an * XML Schema. * $Id$ */ package dk.ifad.scenario.v2.ast; //---------------------------------/ //- Imported classes and packages -/ //---------------------------------/ import org.exolab.castor.mapping.AccessMode; import org.exolab.castor.mapping.ClassDescriptor; import org.exolab.castor.mapping.FieldDescriptor; import org.exolab.castor.xml.*; import org.exolab.castor.xml.FieldValidator; import org.exolab.castor.xml.TypeValidator; import org.exolab.castor.xml.XMLFieldDescriptor; import org.exolab.castor.xml.handlers.*; import org.exolab.castor.xml.util.XMLFieldDescriptorImpl; import org.exolab.castor.xml.validators.*; /** * * @version $Revision$ $Date$ **/ public class ExtendedDescriptor extends dk.ifad.scenario.v2.ast.BasicDescriptor { //--------------------------/ //- Class/Member Variables -/ //--------------------------/ private java.lang.String nsPrefix; private java.lang.String nsURI; private java.lang.String xmlName; private org.exolab.castor.xml.XMLFieldDescriptor identity; //----------------/ //- Constructors -/ //----------------/ public ExtendedDescriptor() { super(); xmlName = "extended"; XMLFieldDescriptorImpl desc = null; XMLFieldHandler handler = null; FieldValidator fieldValidator = null; //-- initialize attribute descriptors //-- _extendedID desc = new XMLFieldDescriptorImpl(java.lang.String.class, "_extendedID", "ExtendedID", NodeType.Attribute); this.identity = desc; handler = (new XMLFieldHandler() { public Object getValue( Object object ) throws IllegalStateException { Extended target = (Extended) object; return target.getExtendedID(); } public void setValue( Object object, Object value) throws IllegalStateException, IllegalArgumentException { try { Extended target = (Extended) object; target.setExtendedID( (java.lang.String) value); } catch (Exception ex) { throw new IllegalStateException(ex.toString()); } } public Object newInstance( Object parent ) { return new java.lang.String(); } } ); desc.setHandler(handler); addFieldDescriptor(desc); //-- validation code for: _extendedID fieldValidator = new FieldValidator(); desc.setValidator(fieldValidator); //-- initialize element descriptors } //-- dk.ifad.scenario.v2.ast.ExtendedDescriptor() //-----------/ //- Methods -/ //-----------/ /** **/ public org.exolab.castor.mapping.AccessMode getAccessMode() { return null; } //-- org.exolab.castor.mapping.AccessMode getAccessMode() /** **/ public org.exolab.castor.mapping.ClassDescriptor getExtends() { return null; } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() /** **/ public org.exolab.castor.mapping.FieldDescriptor getIdentity() { if (identity == null) return super.getIdentity(); return identity; } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() /** **/ public java.lang.Class getJavaClass() { return dk.ifad.scenario.v2.ast.Extended.class; } //-- java.lang.Class getJavaClass() /** **/ public java.lang.String getNameSpacePrefix() { return nsPrefix; } //-- java.lang.String getNameSpacePrefix() /** **/ public java.lang.String getNameSpaceURI() { return nsURI; } //-- java.lang.String getNameSpaceURI() /** **/ public org.exolab.castor.xml.TypeValidator getValidator() { return this; } //-- org.exolab.castor.xml.TypeValidator getValidator() /** **/ public java.lang.String getXMLName() { return xmlName; } //-- java.lang.String getXMLName() } /* * This class was automatically generated with * Castor 0.9.3, using an * XML Schema. * $Id$ */ package dk.ifad.scenario.v2.ast; //---------------------------------/ //- Imported classes and packages -/ //---------------------------------/ import java.io.Reader; import java.io.Serializable; import java.io.Writer; import org.exolab.castor.xml.*; import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.ValidationException; import org.xml.sax.DocumentHandler; /** * * @version $Revision$ $Date$ **/ public class Test implements java.io.Serializable { //--------------------------/ //- Class/Member Variables -/ //--------------------------/ private Basic _base; private Extended _ext; //----------------/ //- Constructors -/ //----------------/ public Test() { super(); } //-- dk.ifad.scenario.v2.ast.Test() //-----------/ //- Methods -/ //-----------/ /** **/ public Basic getBase() { return this._base; } //-- Basic getBase() /** **/ public Extended getExt() { return this._ext; } //-- Extended getExt() /** **/ public boolean isValid() { try { validate(); } catch (org.exolab.castor.xml.ValidationException vex) { return false; } return true; } //-- boolean isValid() /** * * @param out **/ public void marshal(java.io.Writer out) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { Marshaller.marshal(this, out); } //-- void marshal(java.io.Writer) /** * * @param handler **/ public void marshal(org.xml.sax.DocumentHandler handler) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { Marshaller.marshal(this, handler); } //-- void marshal(org.xml.sax.DocumentHandler) /** * * @param base **/ public void setBase(Basic base) { this._base = base; } //-- void setBase(Basic) /** * * @param ext **/ public void setExt(Extended ext) { this._ext = ext; } //-- void setExt(Extended) /** * * @param reader **/ public static dk.ifad.scenario.v2.ast.Test unmarshalTest(java.io.Reader reader) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { return (dk.ifad.scenario.v2.ast.Test) Unmarshaller.unmarshal(dk.ifad.scenario.v2.ast.Test.class, reader); } //-- dk.ifad.scenario.v2.ast.Test unmarshalTest(java.io.Reader) /** **/ public void validate() throws org.exolab.castor.xml.ValidationException { org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); validator.validate(this); } //-- void validate() } /* * This class was automatically generated with * Castor 0.9.3, using an * XML Schema. * $Id$ */ package dk.ifad.scenario.v2.ast; //---------------------------------/ //- Imported classes and packages -/ //---------------------------------/ import org.exolab.castor.mapping.AccessMode; import org.exolab.castor.mapping.ClassDescriptor; import org.exolab.castor.mapping.FieldDescriptor; import org.exolab.castor.xml.*; import org.exolab.castor.xml.FieldValidator; import org.exolab.castor.xml.TypeValidator; import org.exolab.castor.xml.XMLFieldDescriptor; import org.exolab.castor.xml.handlers.*; import org.exolab.castor.xml.util.XMLFieldDescriptorImpl; import org.exolab.castor.xml.validators.*; /** * * @version $Revision$ $Date$ **/ public class TestDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl { //--------------------------/ //- Class/Member Variables -/ //--------------------------/ private java.lang.String nsPrefix; private java.lang.String nsURI; private java.lang.String xmlName; private org.exolab.castor.xml.XMLFieldDescriptor identity; //----------------/ //- Constructors -/ //----------------/ public TestDescriptor() { super(); xmlName = "test"; XMLFieldDescriptorImpl desc = null; XMLFieldHandler handler = null; FieldValidator fieldValidator = null; //-- set grouping compositor setCompositorAsSequence(); //-- initialize attribute descriptors //-- initialize element descriptors //-- _base desc = new XMLFieldDescriptorImpl(Basic.class, "_base", "base", NodeType.Element); handler = (new XMLFieldHandler() { public Object getValue( Object object ) throws IllegalStateException { Test target = (Test) object; return target.getBase(); } public void setValue( Object object, Object value) throws IllegalStateException, IllegalArgumentException { try { Test target = (Test) object; target.setBase( (Basic) value); } catch (Exception ex) { throw new IllegalStateException(ex.toString()); } } public Object newInstance( Object parent ) { return new Basic(); } } ); desc.setHandler(handler); desc.setRequired(true); desc.setMultivalued(false); addFieldDescriptor(desc); //-- validation code for: _base fieldValidator = new FieldValidator(); fieldValidator.setMinOccurs(1); desc.setValidator(fieldValidator); //-- _ext desc = new XMLFieldDescriptorImpl(Extended.class, "_ext", "ext", NodeType.Element); handler = (new XMLFieldHandler() { public Object getValue( Object object ) throws IllegalStateException { Test target = (Test) object; return target.getExt(); } public void setValue( Object object, Object value) throws IllegalStateException, IllegalArgumentException { try { Test target = (Test) object; target.setExt( (Extended) value); } catch (Exception ex) { throw new IllegalStateException(ex.toString()); } } public Object newInstance( Object parent ) { return new Extended(); } } ); desc.setHandler(handler); desc.setRequired(true); desc.setMultivalued(false); addFieldDescriptor(desc); //-- validation code for: _ext fieldValidator = new FieldValidator(); fieldValidator.setMinOccurs(1); desc.setValidator(fieldValidator); } //-- dk.ifad.scenario.v2.ast.TestDescriptor() //-----------/ //- Methods -/ //-----------/ /** **/ public org.exolab.castor.mapping.AccessMode getAccessMode() { return null; } //-- org.exolab.castor.mapping.AccessMode getAccessMode() /** **/ public org.exolab.castor.mapping.ClassDescriptor getExtends() { return null; } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() /** **/ public org.exolab.castor.mapping.FieldDescriptor getIdentity() { return identity; } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() /** **/ public java.lang.Class getJavaClass() { return dk.ifad.scenario.v2.ast.Test.class; } //-- java.lang.Class getJavaClass() /** **/ public java.lang.String getNameSpacePrefix() { return nsPrefix; } //-- java.lang.String getNameSpacePrefix() /** **/ public java.lang.String getNameSpaceURI() { return nsURI; } //-- java.lang.String getNameSpaceURI() /** **/ public org.exolab.castor.xml.TypeValidator getValidator() { return this; } //-- org.exolab.castor.xml.TypeValidator getValidator() /** **/ public java.lang.String getXMLName() { return xmlName; } //-- java.lang.String getXMLName() }

Reply via email to