Gå til innhold

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


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet

Det er godt mulig, men det er ikke jeg som har kontroll over skjemaene. For å være helt nøyaktig så står det ".. /felles/A.xsd" i stiveien til skjema A. Jeg tenkte som så at det er snakk om reaktive stiveier her.

Skrevet

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 ...

Skrevet (endret)

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
Skrevet (endret)

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
Skrevet

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?

Skrevet (endret)

legg A.xsd og B.xsd i samme mappe og bruk schemaLocation="A.xsd" i import'en

 

edit: eller la eclipse opprette import'en i design-view med point-and-click, da bør ihvertfall ball i stiveien bli eliminert.

Endret av quantum

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...