Question

J'ai le début suivant d'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"/>

... puis d'autres définitions ...

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

Où in_dat existe dans un schéma écrit par une autre organisation. Ce que je veux essentiellement à nous faire créer un schéma qui contiendra un élément du type in_dat qui est défini dans XSD de l'autre ogranization.

Suis-je même près d'avoir ce correct? Je suis assez nouveau pour XML.

Je continue à obtenir

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

de http://www.w3.org/2001/03/webdata/ XSV , qui est un validateur de schéma.

Merci.

modifier: Merci à vous deux qui a répondu. Le problème semble être que l'autre organisation n'a pas défini un attribut targetNamespace dans leur schéma. Le résultat est que je ne peux pas importer l'espace de noms dans mon schéma, ce qui signifie que je ne peux pas utiliser le type fourni.

Je devais copier / coller le code, ce qui est ce que je voulais éviter ... mais vous ne pouvez pas avoir tout ce que vous voulez, je suppose.

Était-ce utile?

La solution

Je ne vois qu'une erreur évidente: vous utilisez ref="no:in_dat" pour le référencement d'un type. Vous devez utiliser il type="no:in_dat". ref renverrait un élément global (et ne doit pas être utilisé en même temps que la attribut name).

En dehors de cela, avez-vous passé le schéma externe au validateur à côté de votre propre schéma? Il est bien sûr nécessaire pour valider votre schéma.

Autres conseils

En plus de changer ref = type = , votre définition de schéma semble correct. Du message d'erreur, je suppose que le schéma validateur ne peut pas charger le current_obs.xsd de la schemaLocation prévu, ce qui serait logique. Le validateur n'aurait aucun moyen de vérifier s'il y a un type appelé in_dat car il ne pouvait pas importer le schéma.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top