Hej...
Jeg har problemer med at JAXB compilere nogle XML schema's der
validerer korrekt i både XMLSpy og XSDValid.
Problemet synes at være at JAXB kun vil acceptere et import-tag pr.
namespace, men min temmelig begrænsede viden om XML schema siger mig
at det bør der da ikke være noget i vejen med, eller???
Jeg har lavet et lille eksempel der belyser problemet bestående af to
XML schema's der importeres ind i et andet Schema og anvendes. Hvis
jeg bytter om på mine imports skifter fejlen fra at være et problem
med den ene til den anden
Eksempel:
<?xml version="1.0"?>
<schema targetNamespace="Tester"
xmlns="
http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<simpleType name="NonEmptyString">
<restriction base="string">
<minLength value="1"/>
</restriction>
</simpleType>
</schema>
<?xml version="1.0"?>
<schema targetNamespace="Tester"
xmlns="
http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<simpleType name="PositiveNumber">
<restriction base="integer">
<minInclusive value="0"/>
</restriction>
</simpleType>
</schema>
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="Foo"
xmlns:test="Tester"
xmlns="
http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="1.0">
<import namespace="Tester" schemaLocation="SimpleNumber.xsd"/>
<import namespace="Tester" schemaLocation="SimpleString.xsd"/>
<complexType name="StringNumber">
<sequence>
<element name="aString" type="test:NonEmptyString"
minOccurs="0"/>
<element name="aNumber" type="test:PositiveNumber"
minOccurs="0"/>
</sequence>
</complexType>
</schema>
.... Beklager den manglende/fjollede formatering, men som sagt giver
ovenstående simple eksempel nedenstående fejl ved JAXB compilering
(via Ant), men den ændres til en fejl i PositiveNumber, hvis der
byttes om på rækkefølgen import-tags.
Fejlen, som det står ovenfor:
[xjc] Compiling file:/U:/Gas/vejman/SchemaTest.xsd
[xjc] [ERROR] src-resolve: Cannot resolve the name
'test:NonEmptyString' to a(n) type definition component.
[xjc] line 16 of SchemaTest.xsd
Håber i kan forklare mig hvorfor, eller i det mindste bare at ikke har
fattet en skid
Hygge
/Dennis B. Hansen