Domanda

Ho il seguente inizio di un XSD:

<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:no="http://www.sychophants.com">
<xs:import namespace="http://www.sychophants.com" schemaLocation="current_obs.xsd"/>

... e poi alcune altre definizioni ...

<xs:element name="noInDatPletd" ref="no:in_dat"/>

Dove in_dat esiste in uno schema scritto da un'altra organizzazione. Quello che in sostanza voglio fare a creare uno schema che conterrà un elemento del tipo in_dat definito nella XSD dell'altro ogranization.

Am ho anche vicino ad avere questo corretto? Sono abbastanza nuovo per XML.

Continuo a ricevere

    http://location_of_my_xsd/temp.xsd:79:9: Invalid: Undefined element 
    no{http://www.sychophants.com}:in_dat referenced from content model 

http://www.w3.org/2001/03/webdata/ XSV , che è un validatore schema.

Grazie.

modifica: Grazie a voi due che ha risposto. Il problema sembra essere che l'organizzazione non ha definito un attributo targetNamespace nella loro schema. Il risultato è che non riesco a importare lo spazio nel mio schema, che significa che non posso utilizzare il tipo fornito.

ho dovuto copiare / incollare il codice, che è quello che volevo evitare ... ma non si può avere tutto quello che volete, immagino.

È stato utile?

Soluzione

Vedo solo errore evidente: si utilizza per fare riferimento ref="no:in_dat" un tipo. Si dovrebbe usare type="no:in_dat" lì. ref sarebbe riferimento ad un elemento globale (e non deve essere usato insieme con il attributo name).

Oltre a questo, hai superato lo schema esterno al validatore accanto al tuo proprio schema? Naturalmente è necessario per convalidare con il vostro schema.

Altri suggerimenti

Oltre a cambiare ref = a type = , il tuo aspetto di definizione schema corretto. Dal messaggio di errore, sto cercando di indovinare che il validatore schema non è in grado di caricare il current_obs.xsd dal schemaLocation fornito, che avrebbe senso. Il validatore non avrebbe alcun modo di verificare se vi sia un tipo chiamato in_dat dal momento che non potrebbe importare lo schema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top