[ loks @ 19.07.2008. 21:22 ] @
Da li se tehnologija XInclude može koristiti i za kombinovanje XML šema. Na primer, jedna šema je napisana, a sledeća je složenija od nje, ali je jedan deo nove šeme identičan staroj. U pokušaju da to realizujem na sledeći način:
Code:

  <xi:include  xmlns:xi="http://www.w3.org/2001/XInclude" 
        href ="drugi.xsd"/>


dge je drugi.xsd stara šema koju želim da uključim.

Dobijam sledeću poruku, odnosno nevalidnost:
Code:

E [Xerces] s4s-att-not-allowed: Attribute 'href' cannot appear in element 'include'.


Druga stvar je u određivanju mesta stare šeme u novoj. Koji bi postupak mogao da se koristi da se stara šema pojavi na tačno određenom mestu u novoj šemi, odnosno da se umetne na tačno određeno mesto?

Unapred hvala!
[ mmix @ 20.07.2008. 17:10 ] @
Nema potrebe da koristis XInclude za XSD jer XSD po specifikiaciji vec poseduje dva inclusion mehanizam, include i import.

Ako sekundarna XML schema ima isti targetnamespace, onda mozes da koristis xs:import ili xs:redefine, ako ima drugi namespace (za validaciju xml fajlova ciji segmenti su u razlicitim namespace-ovima) onda koristis xs:import.


Pogledaj poglavlje 4.2 Layer 2: Schema Documents, Namespaces and Composition



Izbegavaj XInclude, nemaju sve platforme podrsku za njega i nigde u specifikaciji za XSD validator ne stoji da njegov loader mora da ga podrzava. Po gresci koju si dao, xml loader u Xerxes-u ga izgleda nema (mada ne mogu da tvrdim, nisam u toku sa time, mozda neko na Java forumu moze da ti pomogne sa time ako ti je bas neophodno), mozda je zak i namerno iskljucen jer nema opcije koje imaju gornje xsd komande.