cvc-complex-type.2.4.a: un contenu invalide a été trouvé en commençant par l'élément 'ProcessDesc'. Un de ProcessName attendu
Je suis la validation de mon jaxb objet par classe de validation. Ci-dessous le code que j'utilise valider jaxb objet. Mais lors de la validation de ce que j'obtiens cette erreur.
jc = JAXBContext.newInstance(obj.getClass());
source = new JAXBSource(jc, obj);
Schema schema = schemaInjector.getSchema();
Validator validator = schema.newValidator();
validator.validate(source);
ERREUR(SAXParseException): cvc-complexe-type.2.4.a: contenu non valide a été trouvé en commençant par élément "ProcessDesc'. L'un des ProcessName devrait
Je ne comprends pas ce que j'ai fait de mal dans ma xsd qui est à l'origine de cette erreur. L'élément défini dans mon fichier xsd est ci-dessous pour lesquels je reçois un message d'erreur.
<xs:schema xmlns:cc="http://www.ms.com/cm.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ms.com/cm.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="Process">
<xs:sequence>
<xs:element name="ProcessId" type="xs:int" />
<xs:element name="ProcessName" type="xs:string" />
<xs:element name="ProcessDesc" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
Merci de m'aider à résoudre ce. Merci.
source d'informationauteur user656213
Vous devez vous connecter pour publier un commentaire.
Le XML Sehema code
décrit certaines XML, ce qui devrait ressembler à
Mais vos données XML ressemble à
Si vous n'avez pas de soins sur l'ordre de l'Id, le Nom, la description, vous aurez à changer le schéma XML. Sinon, vous avez à résoudre le XML (ce qui est plus facile).
Si vous pensez que "toute commande d'éléments" est une bonne idée, utilisation:
Ce genre de erors sont dus à une des raisons suivantes
Si vous utilisez une séquence, vous devez conserver l'ordre de chaque élément
Définition et l'Utilisation
L'élément de la séquence spécifie que les éléments d'enfant doit apparaître dans une séquence. Chaque élément enfant peut se produire à partir de 0 à un nombre quelconque de fois.
voir ici
C'est une simple erreur de validation XSD ... w3c