L'élément ou l'attribut ne correspondent pas QName de production
J'ai un schéma de ce que j'ai "aplatie" à l'aide de l'Éditeur XML. Après, je l'aplatir j'obtiens une erreur de validation. Que puis-je faire pour le réparer?
Message D'Erreur:
F [Xerces] de l'Élément ou de l'attribut n'
match QName de production:
QName::=(NCName':')?NCName.
code:
<xs:import namespace="http://www.opengis.net/gml"
schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"
xmlns:="http://www.opengis.net/gml/3.1.1" />
<xs:annotation xmlns:="http://www.opengis.net/sps/1.0">
<xs:documentation>
<copyright> SPS is an OGC Standard. Copyright (c)
2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. To
obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
</copyright>
</xs:documentation>
</xs:annotation>
Voici une capture d'écran qui pourrait mieux illustrer mon erreur:
EDIT:
Enlever le côlon en quelque sorte. Qu'est-ce exactement
est-ce que "l'aplatissement" censé faire?
L'aplatissement de la xsd prend un xsd avec beaucoup de comprend et met tout cela en un seul fichier (sans figure).
Enlever le côlon en quelque sorte. Ce que fait exactement cet "aplatissement" censé faire?
Enlever le côlon n'a pas fonctionné pour moi, mais voir mon montage sur l'aplatissement.
Enlever le côlon n'a pas fonctionné pour moi, mais voir mon montage sur l'aplatissement.
OriginalL'auteur capdragon | 2011-01-31
Vous devez vous connecter pour publier un commentaire.
xmlns:=
est une syntaxe non valide. Le côlon est extra ou le préfixe d'espace après les deux points manquants. Syntaxe correcte seraitxmlns="http://some.uri"
ouxmlns:something="http://some.uri"
Note que vous avez 2 des nations unies besoin de deux points: le premier sur la ligne 1002 (d'où la flèche rouge pointe) et le second est sur la ligne de 1003. Cela donne un conseil qu'il pourrait y avoir encore plus d'eux.
"QName" se réfère à "nom complet" et "NCName" se réfère à la "non-colonisés nom". Non-colonisés nom est un nom XML qui ne contient pas un caractère deux-points (:). Nom complet est soit un non-colonisés nom ou de la combinaison de deux non-colonisés noms séparés par une virgule. Par exemple "abc:defgh". La partie avant la virgule est appelé le préfixe d'espace de noms et la partie après la virgule est appelé le nom local. Si un nom qualifié a un préfixe d'espace de noms, alors que le préfixe doit être lié à un espace de noms URI avec un préfixe d'espace de noms de la déclaration, par exemple
xmlns:abc="http://some.uri"
.OriginalL'auteur jasso
Dans le cas où c'est utile à quelqu'un d'autre, j'ai eu le même message d'erreur et réalisé que ce était à l'origine c'était les deux points dans l'espace de noms URI, c'est à dire "http://whatever". J'avais été la concaténation de l'URI d'espace de noms pour les ressources et les propriétés directement, plutôt que de l'enregistrement de l'espace de noms comme un symbole, donc, une ressource ou une propriété qui pourrait ressembler à "http://hl7.org/fhir/:Observation", qui a bien sûr deux signes deux-points et donc ne pas suivre la "QName::=(NCName':')?NCName" format de production.
Je l'ai corrigé en vous inscrivant à l'espace de noms avec le modèle:
puis l'ajouter au début de l'espace de noms dans mes ressources et propriétés:
OriginalL'auteur Daniel Cotter