Given the schema and document below, why the following code returns false ?
PackageElement pkg = (PackageElement) unmarshaller.unmarshal(
new File("sample.xml"));
bIsElement = (pkg.getComment() instanceof javax.xml.bind.Element
); // <----------------- returns false. Why ?
bIsElement = (pkg.getClasses() instanceof javax.xml.bind.Element
); // <----------------- returns false. Why ?
* * * Schema:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
targetNamespace="
http://www.on.com/xml/schemas"
xmlns="
http://www.on.com/xml/schemas"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<xsd:element name="package" type="PackageType"/>
<xsd:element name="comment" type="TextType"/>
<xsd:complexType name="PackageType">
<!-- Sequenced entities -->
<xsd:all>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element ref="classes" minOccurs="0"/>
<!-- some other elements removed -->
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TextType">
<xsd:complexContent mixed="true">
<xsd:restriction base="xsd:anyType">
<xsd:sequence>
<xsd:any processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="classes" type="ClassesType">
<xsd:unique name="ClassKey">
<xsd:selector xpath=".//class"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
<xsd:element name="class">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="description" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ClassesType">
<xsd:sequence>
<xsd:element ref="class" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:schema>
* * * Sample document (sample.xml)
<?xml version="1.0" encoding="UTF-8"?>
<ontech:package xmlns:ontech="
http://www.on.com/xml/schemas"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<ontech:comment>
Installs application Sample.
You will require Application Ver 2.4 CD to populate the depot and
make this
package usable.
</ontech:comment>
<ontech:classes>
<ontech:class name="test"/>
<ontech:class name="sample" description="A class description
goes here."/>
</ontech:classes>
</ontech:package>