Frage

Ich habe folgendes Start eines 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"/>

... und dann einige andere Definitionen ...

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

Wo in_dat in einem Schema von einer anderen Organisation geschrieben existiert. Was ich will, im Wesentlichen tun, um uns ein Schema erstellen, die ein Element des in_dat Typs enthalten, die in der anderen ogranization des XSD definiert ist.

Bin ich auch nur annähernd diese korrekt zu haben? Ich bin ziemlich neu in XML.

Ich erhalte

    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 , das ein Schema-Validator.

Danke.

edit: Dank der zwei von Ihnen, die geantwortet. Das Problem scheint zu sein, dass die andere Organisation kein Attribut target in ihrem Schema definiert hat. Das Ergebnis ist, dass ich nicht den Namespace in mein Schema importieren kann, was bedeutet, dass ich nicht die Art vorgesehen nutzen kann.

Ich hatte zu kopieren / fügen Sie den Code, das ist, was ich vermeiden wollte ... aber man kann nicht alles, was Sie wollen, ich denke.

War es hilfreich?

Lösung

Ich sehe nur einen offensichtlichen Fehler: Sie ref="no:in_dat" verwenden, um einen Typ für die Referenzierung. Sie sollten type="no:in_dat" dort verwenden. ref würde verweisen auf ein globales Element (und sollte nicht zusammen mit dem verwendet werden name Attribut).

Abgesehen davon sind vergangen Sie das externe Schema Validator neben Ihrem eigenen Schema? Es ist natürlich notwendig, um Validieren mit Ihrem Schema.

Andere Tipps

Neben dem Ändern ref = type = , Ihr Schema Definition Aussehen korrigieren. Von der Fehlermeldung, vermute ich, dass das Schema-Validator laden nicht in der Lage ist, die current_obs.xsd aus dem schema vorgesehen, der Sinn machen würde. Der Prüfer hätte keine Möglichkeit, zu prüfen, ob es eine Art in_dat , da es nicht importieren konnte das Schema genannt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top