2009-04-07 17 views
5

È legale utilizzare alcun attributo targetNamespace o vuoto in uno schema Xml?Schema Xml: empty targetNamespace

Se è così allora cosa vuol dire, stiamo "aggiungendo" qualcosa allo "spazio dei nomi vuoto" (che esiste sempre) o alla creazione di uno "spazio dei nomi anonimo" che non è correlato ad altri schemi?

Come apparirebbe un documento xml di istanza, gli elementi devono essere esplicitamente limitati a un determinato spazio dei nomi?

risposta

11

Vedere XML Schema Part 0: Primer per una descrizione molto concisa di come funzionano i targetNamespaces non dichiarati.

Come per un targetNamepace vuoto, non è valido. Dal spec:

Dal momento che la stringa vuota non è un nome namespace legale, fornendo una stringa vuota per targetNamespace è incoerente, e non è lo stesso che non specificare affatto. La forma appropriata di documento schema corrispondente a uno · schema · i cui componenti non hanno {target namespace} è uno che non ha alcun attributo targetNamespace specificato.

3

Sì, sicuramente. Gli spazi dei nomi XML sono facoltativi: puoi lasciarli fuori se desideri farlo, e se non hai problemi con gli elementi XML ambigui nel tuo "mondo XML".