I used ASBuilder.java to validate personal.xsd. If I remove the first
occurrence of the <xs:sequence> AND </xs:sequence>, it catches the error and
report the line/column numbers.
But if I just remove <xs:sequence> OR </xs:sequence> alone, it will through
exception as follows and not report the correct line/column number
correctly.
[Fatal Error] :-1:-1: The element type "xs:complexType" must be terminated
by the matching end-tag "</xs:complexType>".
java.lang.NullPointerException
at org.apache.xerces.parsers.DOMASBuilderImpl.parseASURI(Unknown Source)
at edu.gatech.xmlape.editor.dom.ASBuilder.main(ASBuilder.java:212)
So I guess the ASBuilder can't handle wellformedness problem?
the personal.xsd:
========================
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="personnel">
<xs:complexType>
<xs:sequence> <-------
<xs:element maxOccurs="unbounded" minOccurs="1"
ref="person"></xs:element>
</xs:sequence> <-------
</xs:complexType>
<xs:unique name="unique1">
<xs:selector xpath="person"></xs:selector>
<xs:field xpath="name/given"></xs:field>
<xs:field xpath="name/family"></xs:field>
</xs:unique>
<xs:key name="empid">
<xs:selector xpath="person"></xs:selector>
<xs:field xpath="@id"></xs:field>
</xs:key>
<xs:keyref name="keyref1" refer="empid">
<xs:selector xpath="person"></xs:selector>
<xs:field xpath="link/@manager"></xs:field>
</xs:keyref>
</xs:element>
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"></xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="email"></xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="url"></xs:element>
<xs:element maxOccurs="1" minOccurs="0" ref="link"></xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required"></xs:attribute>
<xs:attribute name="note" type="xs:string"></xs:attribute>
<xs:attribute default="false" name="contr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="true"></xs:enumeration>
<xs:enumeration value="false"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="salary" type="xs:integer"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="name">
<xs:complexType>
<xs:all>
<xs:element ref="family"></xs:element>
<xs:element ref="given"></xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="family" type="xs:string"></xs:element>
<xs:element name="given" type="xs:string"></xs:element>
<xs:element name="email" type="xs:string"></xs:element>
<xs:element name="url">
<xs:complexType>
<xs:attribute default="http://" name="href"
type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="link">
<xs:complexType>
<xs:attribute name="manager" type="xs:IDREF"></xs:attribute>
<xs:attribute name="subordinates" type="xs:IDREFS"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:notation name="gif" public="-//APP/Photoshop/4.0"
system="photoshop.exe"></xs:notation>
</xs:schema>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]