Gå til innhold

Lage java-klasser fra xsd-skjema med JAXB i Eclipse


Anbefalte innlegg

Hei,

 

Jeg har to xsd-skjemaer A og B, der B importerer A. Forsøker å generere java-klasser med JAXB i Eclipse. Dette fungerer helt fint dersom jeg bruker et xsd-skjema uten importering av andre xsd-skjemaer. Ved forsøk av generering av javaklasser fra skjema B som importerer A får jeg følgende feilmelding:

 

 

Schema_reference.4: Failed to read schema document '../blablablablabla/A.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.

line 12 of file:/C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/resources/B.xsd

 

Skjema B inneholder følgende linje for importering:

<import namespace="http://www.blablablabla.no/xmlstds" schemaLocation="../blablablabla/A.xsd"/>

Skjema A ligger i følgende folder: C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/resources/blablablabla/A.xsd

 

Jeg er ingen racer i XML og xml-skjema, men setter stor pris på om noen vet 1) hvordan det kan løses 2) en kortfattet gjennomgang av hvordan jeg kan forstå dette bedre.

Endret av ti-guru
Lenke til kommentar
Videoannonse
Annonse

sikkert, da får han bytte ut 'blablabla' med 'felles' i det forrige svaret, så vet han ihvertfall hvordan den som har kontroll over skjemaene kunne ha løst problemet ...

SwiftKey byttet ut ordene slik at relativ ble til reaktiv. Håper du skjønte at all info i førstepost er gjort generisk, slik at prinsippet for hvordan man genererer klasser med importerte skjemaer kommer i fokus. Må ærlig innrømme at svaret ditt ikke gav meg større innsikt.

Endret av ti-guru
Lenke til kommentar

Nei, men vi får prøve en gang til:

 

Her ligger A

C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/resources/blablablabla/A.xsd

 

Her ligger B

C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/resources/B.xsd

 

  1. <import namespace="http://www.blablablabla.no/xmlstds" schemaLocation="../blablablabla/A.xsd"/>

Dette betyr at ts prøver å importere

 

C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/blablabla/A.xsd

 

Altså skal vel den som har kontroll på skjema-filene rett og slett fjerne en '.' i stiveien. (ikke bytte ut med 'blabla' som jeg foreslo først, det blir vel også feil ...)

Endret av quantum
Lenke til kommentar

Nei, men vi får prøve en gang til:

 

Her ligger A

C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/resources/blablablabla/A.xsd

 

Her ligger B

C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/resources/B.xsd

 

  1. <import namespace="http://www.blablablabla.no/xmlstds" schemaLocation="../blablablabla/A.xsd"/>

Dette betyr at ts prøver å importere

 

C:/Users/blablabla/Documents/Programmering/Workspace/HelloJaxb/blablabla/A.xsd

 

Altså skal vel den som har kontroll på skjema-filene rett og slett fjerne en '.' i stiveien. (ikke bytte ut med 'blabla' som jeg foreslo først, det blir vel også feil ...)

 

Enig i forrige innlegg, og det er slik jeg har forstått det hele tiden. Forsøkte forslaget ditt med å fjerne et '.' i den relative stiveien. Dette fungerte ikke, til tross for litt F5 eller restart Eclipse. Andre forslag?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...