Hi Laurance,
I am actually runing scmp in an application.but I can reproduce the error with the following command
 
in this case the schemas directory only includes one schema, and the source and classes directory are empty
 
 
scomp -d e:\projects\xmlbeansgenerated\classes -src e:\projects\xmlbeansgenerated\src -javasource 1.5 -mx 500m e:\projects\xmlbeansgenerated\schemas
 
 
for completeness
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode)
 
 
Mike


From: Lawrence Jones [mailto:[EMAIL PROTECTED]
Sent: 09 December 2005 17:12
To: [email protected]
Subject: RE: NPE running scomp

Hi Mike

 

Could you post the schema and the exact command line you’re invoking when you see this? I think that would allow easier investigation.

 

Cheers,

 

Lawrence

 


From: Mike Skells [mailto:[EMAIL PROTECTED]
Sent: Friday, December 09, 2005 8:42 AM
To: [email protected]
Subject: RE: NPE running scomp

 

BTW the schema validates OK with XMLSPY and SQC 

 


From: Mike Skells [mailto:[EMAIL PROTECTED]
Sent: 09 December 2005 10:30
To: [email protected]
Subject: NPE running scomp

Hi,

ANyone got any ideas what is causing this NPE. I am using 2.1.0

 

Exception in thread "main" java.lang.NullPointerException
        at org.apache.xmlbeans.impl.schema.SchemaTypeImpl.getIndexForLocalAttribute(SchemaTypeImpl.java:690)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl$XsbReader.writeTypeData(SchemaTypeSystemImpl.java:2698)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveType(SchemaTypeSystemImpl.java:1439)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveTypesRecursively(SchemaTypeSystemImpl.java:1316)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveTypesRecursively(SchemaTypeSystemImpl.java:1317)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveTypesRecursively(SchemaTypeSystemImpl.java:1317)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.saveTypesRecursively(SchemaTypeSystemImpl.java:1317)
        at org.apache.xmlbeans.impl.schema.SchemaTypeSystemImpl.save(SchemaTypeSystemImpl.java:1291)
        at org.apache.xmlbeans.impl.tool.SchemaCompiler.compile(SchemaCompiler.java:1098)
        at org.apache.xmlbeans.impl.tool.SchemaCompiler.main(SchemaCompiler.java:368)

 

Mike

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by Mike Skells (Dept of Social Community & Family Affairs) -->
<xs:schema xmlns:local="http://www.validsoft.com/resources/schemas/java/com.validsoft.tools.data.datamodel"; xmlns:binding="http://www.validsoft.com/resources/schemas/utils.xml.schema.xmlbeans.annotations"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xs:annotation>
		<xs:appinfo>
			<binding:schema-generation>
				<package-name>com.validsoft.tools.data.datamodel.schema_generated.datastore</package-name>
			</binding:schema-generation>
		</xs:appinfo>
	</xs:annotation>
	<xs:element name="data">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="data-model" type="data-modelType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="data-view" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="key-column-type">
		<xs:attribute name="catalog-name"/>
		<xs:attribute name="schema-name"/>
		<xs:attribute name="table-name"/>
		<xs:attribute name="column-name"/>
		<xs:attribute name="order"/>
	</xs:complexType>
	<xs:attributeGroup name="named">
		<xs:annotation>
			<xs:documentation>something that is named</xs:documentation>
		</xs:annotation>
		<xs:attribute name="name" type="xs:string" use="required"/>
	</xs:attributeGroup>
	<xs:complexType name="tableType">
		<xs:complexContent>
			<xs:extension base="schema-content-named-and-annotated">
				<xs:sequence>
					<xs:element name="columns">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="column" type="columnType" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="column-name">
							<xs:selector xpath="column"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
					<xs:element name="indexes">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="index" minOccurs="0" maxOccurs="unbounded">
									<xs:complexType>
										<xs:complexContent>
											<xs:extension base="named-and-annotated">
												<xs:sequence>
													<xs:element name="column" maxOccurs="unbounded">
														<xs:complexType>
															<xs:attribute name="name" type="xs:string" use="required"/>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="unique" type="xs:boolean" use="required"/>
												<xs:attribute name="type">
													<xs:annotation>
														<xs:documentation>enumeration of the index types. Additional DB specific value will be added later
clustered - this is a clustered index 
hashed - this is a hashed index 
other - this is some other style of index 
 </xs:documentation>
													</xs:annotation>
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="clustered"/>
															<xs:enumeration value="hashed"/>
															<xs:enumeration value="other"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="ascending" type="xs:boolean">
													<xs:annotation>
														<xs:documentation>null if sort order not supported</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="cardinality" type="xs:int" use="required">
													<xs:annotation>
														<xs:documentation>number of unique values in the current index</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="page-count" type="xs:int" use="required">
													<xs:annotation>
														<xs:documentation>number of pages used for the current index</xs:documentation>
													</xs:annotation>
												</xs:attribute>
												<xs:attribute name="filter-condition" type="xs:string"/>
											</xs:extension>
										</xs:complexContent>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="indexes-name">
							<xs:selector xpath="index"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
					<xs:element name="statistics">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="table-statistics" minOccurs="0">
									<xs:complexType>
										<xs:attribute name="row-count" type="xs:int" use="required"/>
										<xs:attribute name="page-count" type="xs:int" use="required"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="privileges">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="privilege" type="privilegeType" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="best-row-identifiers">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="best-row-identifier" minOccurs="0" maxOccurs="3">
									<xs:complexType>
										<xs:attribute name="scope" use="required">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="temporary">
														<xs:annotation>
															<xs:documentation>very temporary, while using row </xs:documentation>
														</xs:annotation>
													</xs:enumeration>
													<xs:enumeration value="transaction">
														<xs:annotation>
															<xs:documentation>valid for remainder of current transaction</xs:documentation>
														</xs:annotation>
													</xs:enumeration>
													<xs:enumeration value="session">
														<xs:annotation>
															<xs:documentation>valid for remainder of current session</xs:documentation>
														</xs:annotation>
													</xs:enumeration>
												</xs:restriction>
											</xs:simpleType>
										</xs:attribute>
										<xs:attribute name="column-name"/>
										<xs:attribute name="data-type" type="java-sql-types" use="required"/>
										<xs:attribute name="type-name" type="class-name" use="required">
											<xs:annotation>
												<xs:documentation>Data source dependent type name, for a UDT the type name is fully qualified</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="size" type="xs:int" use="required">
											<xs:annotation>
												<xs:documentation>For char or date types this is the maximum number of characters, for numeric or decimal types this is precision</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="buffer-length" use="prohibited"/>
										<xs:attribute name="decimal-digits" type="xs:int" use="required"/>
										<xs:attribute name="pseudo-column" type="xs:boolean"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="version-columns">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="version-column" minOccurs="0" maxOccurs="unbounded">
									<xs:complexType>
										<xs:attribute name="scope" use="prohibited">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="temporary">
														<xs:annotation>
															<xs:documentation>very temporary, while using row </xs:documentation>
														</xs:annotation>
													</xs:enumeration>
													<xs:enumeration value="transaction">
														<xs:annotation>
															<xs:documentation>valid for remainder of current transaction</xs:documentation>
														</xs:annotation>
													</xs:enumeration>
													<xs:enumeration value="session">
														<xs:annotation>
															<xs:documentation>valid for remainder of current session</xs:documentation>
														</xs:annotation>
													</xs:enumeration>
												</xs:restriction>
											</xs:simpleType>
										</xs:attribute>
										<xs:attribute name="column-name"/>
										<xs:attribute name="data-type" type="java-sql-types" use="required"/>
										<xs:attribute name="type-name" type="class-name" use="required">
											<xs:annotation>
												<xs:documentation>Data source dependent type name, for a UDT the type name is fully qualified</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="size" type="xs:int" use="required">
											<xs:annotation>
												<xs:documentation>For char or date types this is the maximum number of characters, for numeric or decimal types this is precision</xs:documentation>
											</xs:annotation>
										</xs:attribute>
										<xs:attribute name="buffer-length" use="required"/>
										<xs:attribute name="decimal-digits" type="xs:int" use="required"/>
										<xs:attribute name="pseudo-column" type="xs:boolean"/>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="table-type" type="xs:string" use="required">
					<xs:annotation>
						<xs:documentation>Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM". </xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="remarks" type="xs:string" use="optional"/>
				<xs:attribute name="type-catalog" type="xs:string" use="optional"/>
				<xs:attribute name="type-schema" type="xs:string" use="optional"/>
				<xs:attribute name="type-name" type="xs:string"/>
				<xs:attribute name="self-referencing-column-name" type="xs:string">
					<xs:annotation>
						<xs:documentation>name of the designated "identifier" column of a typed table</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="reference-generation">
					<xs:annotation>
						<xs:documentation>specifies how values in self-referencing-column-name are created. Values are "system", "user" and "derived"</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="system"/>
							<xs:enumeration value="user"/>
							<xs:enumeration value="derived"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="table-id" type="table-id" use="required"/>
				<xs:attribute name="super-table-id" type="table-id" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:attribute name="name" type="xs:string"/>
	<xs:attribute name="description" type="xs:string"/>
	<xs:complexType name="named-and-annotated">
		<xs:sequence>
			<xs:element name="annotation" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="named"/>
	</xs:complexType>
	<xs:complexType name="schema-content-named-and-annotated">
		<xs:complexContent>
			<xs:extension base="named-and-annotated">
				<xs:attribute name="catalog" type="xs:string" use="optional"/>
				<xs:attribute name="schema" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="schemaType">
		<xs:complexContent>
			<xs:extension base="named-and-annotated">
				<xs:attribute name="catalog" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="data-modelType">
		<xs:complexContent>
			<xs:extension base="named-and-annotated">
				<xs:sequence>
					<xs:element name="storage">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="tables">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="table" type="tableType" minOccurs="0" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
									<xs:unique name="table-name">
										<xs:selector xpath="table"/>
										<xs:field xpath="@catalog"/>
										<xs:field xpath="@schema"/>
										<xs:field xpath="@name"/>
									</xs:unique>
								</xs:element>
								<xs:element name="cross-references">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="cross-reference" type="cross-referenceType" minOccurs="0" maxOccurs="unbounded">
												<xs:keyref name="primary-table-cross-reference" refer="table-id">
													<xs:selector xpath="."/>
													<xs:field xpath="@primary-table-id"/>
												</xs:keyref>
												<xs:keyref name="foreign-table-cross-reference" refer="table-id">
													<xs:selector xpath="."/>
													<xs:field xpath="@foreign-table-id"/>
												</xs:keyref>
											</xs:element>
										</xs:sequence>
									</xs:complexType>
									<xs:unique name="cross-reference-name">
										<xs:selector xpath="cross-reference"/>
										<xs:field xpath="@name"/>
									</xs:unique>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
						<xs:key name="table-id">
							<xs:selector xpath="tables/table"/>
							<xs:field xpath="@table-id"/>
						</xs:key>
					</xs:element>
					<xs:element name="user-defined-types">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="user-defined-type" type="user-defined-type" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="user-defined-type-name">
							<xs:selector xpath="user-defined-type"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
					<xs:element name="structure">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="catalogs">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="catalog" type="catalogType" minOccurs="0" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
									<xs:unique name="catalog-name">
										<xs:selector xpath="catalog"/>
										<xs:field xpath="@name"/>
									</xs:unique>
								</xs:element>
								<xs:element name="schemas">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="schema" type="schemaType" minOccurs="0" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
									<xs:unique name="schema-name">
										<xs:selector xpath="schema"/>
										<xs:field xpath="@catalog"/>
										<xs:field xpath="@name"/>
									</xs:unique>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="procedures">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="procedure" type="procedureType" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="procedure-name">
							<xs:selector xpath="procedure"/>
							<xs:field xpath="@catalog"/>
							<xs:field xpath="@schema"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="catalogType">
		<xs:complexContent>
			<xs:extension base="named-and-annotated"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="procedureType">
		<xs:complexContent>
			<xs:extension base="schema-content-named-and-annotated">
				<xs:sequence>
					<xs:element name="column" type="procedure-columnType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="procedure-type" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="result-unknown"/>
							<xs:enumeration value="no-result"/>
							<xs:enumeration value="returns-result"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="procedure-columnType">
		<xs:complexContent>
			<xs:extension base="named-and-annotated">
				<xs:attribute name="column-type" use="required">
					<xs:annotation>
						<xs:documentation>kind of column/parameter: 
unknown - nobody knows 
in - IN parameter 
in-out - INOUT parameter 
out - OUT parameter 
return - procedure return value 
result - result column in ResultSet 
</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="unknown"/>
							<xs:enumeration value="in"/>
							<xs:enumeration value="in-out"/>
							<xs:enumeration value="out"/>
							<xs:enumeration value="return"/>
							<xs:enumeration value="result"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="data-type" type="java-sql-types" use="required"/>
				<xs:attribute name="type-name" type="class-name" use="required"/>
				<xs:attribute name="precision" type="xs:int" use="required"/>
				<xs:attribute name="length" type="xs:int" use="required"/>
				<xs:attribute name="scale" type="xs:short" use="required"/>
				<xs:attribute name="radix" type="xs:short" use="required"/>
				<xs:attribute name="nullable" type="xs:boolean" use="optional"/>
				<xs:attribute name="remarks" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="user-defined-type">
		<xs:complexContent>
			<xs:extension base="schema-content-named-and-annotated">
				<xs:sequence>
					<xs:element name="attribute" type="named-and-annotated" minOccurs="0" maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>returned for getAtributes()</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="class-name" type="class-name" use="required"/>
				<xs:attribute name="data-type" type="java-sql-types" use="required">
					<xs:annotation>
						<xs:documentation>One of JAVA_OBJECT, STRUCT, or DISTINCT 
</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="remarks" type="xs:string"/>
				<xs:attribute name="base-type" type="java-sql-types" use="optional">
					<xs:annotation>
						<xs:documentation>type code of the source type of a DISTINCT type or the type that implements the user-generated reference type of the SELF_REFERENCING_COLUMN of a structured type as defined in java.sql.Types (null if DATA_TYPE is not DISTINCT or not STRUCT with REFERENCE_GENERATION = USER_DEFINED) </xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="type-id" type="type-id" use="required"/>
				<xs:attribute name="super-type-id" type="type-id" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="java-sql-types">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ARRAY"/>
			<xs:enumeration value="BIGINT"/>
			<xs:enumeration value="BINARY"/>
			<xs:enumeration value="BIT"/>
			<xs:enumeration value="BLOB"/>
			<xs:enumeration value="BOOLEAN"/>
			<xs:enumeration value="CHAR"/>
			<xs:enumeration value="CLOB"/>
			<xs:enumeration value="DATALINK"/>
			<xs:enumeration value="DATE"/>
			<xs:enumeration value="DECIMAL"/>
			<xs:enumeration value="DISTINCT"/>
			<xs:enumeration value="DOUBLE"/>
			<xs:enumeration value="FLOAT"/>
			<xs:enumeration value="INTEGER"/>
			<xs:enumeration value="JAVA_OBJECT"/>
			<xs:enumeration value="LONGVARBINARY"/>
			<xs:enumeration value="LONGVARCHAR"/>
			<xs:enumeration value="NULL"/>
			<xs:enumeration value="NUMERIC"/>
			<xs:enumeration value="OTHER"/>
			<xs:enumeration value="REAL"/>
			<xs:enumeration value="SMALLINT"/>
			<xs:enumeration value="STRUCT"/>
			<xs:enumeration value="TIME"/>
			<xs:enumeration value="TIMESTAMP"/>
			<xs:enumeration value="TINYINT"/>
			<xs:enumeration value="VARBINARY"/>
			<xs:enumeration value="VARCHAR"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="UID">
		<xs:annotation>
			<xs:documentation>UID are generated to ease the references. These are auto generated</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="table-id">
		<xs:restriction base="UID"/>
	</xs:simpleType>
	<xs:simpleType name="type-id">
		<xs:restriction base="UID"/>
	</xs:simpleType>
	<xs:simpleType name="cross-reference-rule">
		<xs:restriction base="xs:string">
			<xs:enumeration value="no-action"/>
			<xs:enumeration value="cascade"/>
			<xs:enumeration value="set-null"/>
			<xs:enumeration value="set-default"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="class-name">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="privilegeType">
		<xs:attribute name="grantor"/>
		<xs:attribute name="grantee" use="required"/>
		<xs:attribute name="privilege" use="required"/>
		<xs:attribute name="grantable" type="xs:boolean"/>
	</xs:complexType>
	<xs:complexType name="cross-referenceType">
		<xs:complexContent>
			<xs:extension base="named-and-annotated">
				<xs:sequence>
					<xs:element name="column" maxOccurs="unbounded">
						<xs:complexType>
							<xs:attribute name="primary-column-name" type="xs:string" use="required"/>
							<xs:attribute name="foreign-column-name" type="xs:string" use="required"/>
							<xs:attribute name="key-sequence" type="xs:int" use="required"/>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
				<xs:attribute name="primary-table-id" type="table-id" use="required"/>
				<xs:attribute name="foreign-table-id" type="table-id" use="required"/>
				<xs:attribute name="update-rule" type="cross-reference-rule" use="required"/>
				<xs:attribute name="delete-rule" type="cross-reference-rule" use="required"/>
				<xs:attribute name="foreign-key-name" type="xs:string"/>
				<xs:attribute name="primary-key-name" type="xs:string"/>
				<xs:attribute name="deferrability" use="required">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="initially-deferred"/>
							<xs:enumeration value="initially-immediate"/>
							<xs:enumeration value="not-deferrable"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="stored-base-type">
		<xs:complexContent>
			<xs:extension base="named-and-annotated">
				<xs:attribute name="data-type" type="java-sql-types" use="required"/>
				<xs:attribute name="type-name" type="class-name" use="required">
					<xs:annotation>
						<xs:documentation>Data source dependent type name, for a UDT the type name is fully qualified</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="size" type="xs:int" use="required">
					<xs:annotation>
						<xs:documentation>For char or date types this is the maximum number of characters, for numeric or decimal types this is precision</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="decimal-digits" type="xs:int" use="required"/>
				<xs:attribute name="numeric-precision-radix" type="xs:int" use="required"/>
				<xs:attribute name="nullable" type="xs:boolean" use="optional">
					<xs:annotation>
						<xs:documentation>reflects the value returned by inullable in the column metat data. See also the is_nullable attribute</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="remarks" type="xs:string"/>
				<xs:attribute name="default-value" type="xs:string"/>
				<xs:attribute name="sql-data-type" use="prohibited"/>
				<xs:attribute name="sql-datetime-sub" use="prohibited"/>
				<xs:attribute name="char-octet-length" type="xs:int" use="required"/>
				<xs:attribute name="ordinal-position" type="xs:int"/>
				<xs:attribute name="is-nullable" type="xs:boolean">
					<xs:annotation>
						<xs:documentation>reflects the value returned by is_nullable in the column metat data. See also the nullable attribute</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="scope-catalog" type="xs:string" use="optional">
					<xs:annotation>
						<xs:documentation>catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF) </xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="scope-schema" type="xs:string" use="optional">
					<xs:annotation>
						<xs:documentation>schema of table that is the scope of a reference attribute (null if the DATA_TYPE isn't REF) </xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="scope-table" type="xs:string" use="optional">
					<xs:annotation>
						<xs:documentation>table name that this the scope of a reference attribure (null if the DATA_TYPE isn't REF)</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="source-data-type" type="xs:string" use="optional">
					<xs:annotation>
						<xs:documentation> source type of a distinct type or user-generated Ref type, SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF)</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="columnType">
		<xs:complexContent>
			<xs:extension base="stored-base-type">
				<xs:sequence>
					<xs:element name="privilege" type="privilegeType" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="buffer-length" use="prohibited"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="attributeType">
		<xs:complexContent>
			<xs:extension base="stored-base-type"/>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to