Je suis tout à fait nouveau dans XML Schema et j'essaie de comprendre les bases. Voici mon code de schéma xml (filename: example1.xsd):
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sample="http://www.example"
targetNamespace="http://www.example.com"
elementFormDefault="qualified">
<xs:element name="school">
<xs:complexType>
<xs:sequence>
<xs:element name="element1" type="xs:string"/>
<xs:element name="element2" type="xs:string"/>
<xs:element name="element3" type="xs:string"/>
<xs:element name="element4" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Voici le document XML.
<?xml version="1.0" encoding="UTF-8"?>
<sample:school xmlns="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="./example1.xsd">
<element1>hello</element1>
<element2>hello</element2>
<element3>hello</element3>
<element4>hello</element4>
</sample:school>
En essayant de valider le fichier XML, j'obtiens une erreur de netbeans disant: Le préfixe "sample" de l'élément "sample: school" n'est pas lié. [9]
Dans votre XML, vous devez soit:
UNE. Supprimer le préfixe sample:
de sample:school
ou
B. Remplacez xmlns="http://www.example.com"
par xmlns:sample="http://www.example.com"
et ajoutez le préfixe sample:
au reste des éléments (<sample:element1>
, <sample:element2>
, etc.).
Lorsque vous obtenez une erreur comme celle-ci, le moyen le plus simple consiste à ajouter la déclaration de préfixe; dans votre cas, conformément au schéma, ajoutez simplement à votre élément racine l'attribut suivant:
xmlns:sample="http://www.example.com"
En outre, ceci est plutôt lié à Espaces de noms XML .
Ce n'est pas une réponse directe à votre question, mais j'ai trébuché ici en essayant de résoudre mon propre problème, alors peut-être que ça va aider quelqu'un aussi.
Ma propre erreur 'Le préfixe ns2 n'est pas lié' a refait surface après la mise à niveau de Weblogic 10.3.6 à 12.2.1.2.
Dans la version supérieure, l'implémentation JAXB par défaut est Moxy. J'ai donc dû remplacer javax.xml.bind.JAXBContext par com.Sun.xml.bind.v2.ContextFactory.
Comment spécifier l'implémentation JAXBContext dans weblogic 12.1.3