0
votes

Comment le document XML est-il validé contre un document XSD ou DTD?

J'essaie de saisir le principe de la validation XML. Il y a un point que je n'ai pas encore eu: quel est le processus qui est responsable de la validation du document XML contre sa définition spécifiée XSD (ou DTD)?

J'aimerais savoir si cela est par défaut fourni avec le système d'exploitation, ou il est fait par l'éditeur que nous utilisons (telle que l'IDE Oxygen)? Merci pour vos clarifications utiles.


0 commentaires

3 Réponses :


0
votes

J'aimerais savoir si

Ceci est par défaut fourni avec le système d'exploitation,

NO.

ou c'est fait par l'éditeur que nous utilisons (tels que l'IDE d'oxygène)?

aussi non.

Il est fait par un processeur XML validant.
(Qui peut bien sûr être intégré dans un IDE comme de l'oxygène).
Un processeur XML / XSLT validant est L'édition commerciale de Saxon: Saxon Ee :

L'édition d'entreprise commerciale de Saxica, prenant en charge XSLT 3.0, XPath 2.0 et 3.1, XQUERY 3.1, XML Schema 1.0 et 1.1, et XQuery Update 1.0.

Une autre possibilité utilise des XERCES, une open source validation de parser décrite dans cette réponse


0 commentaires

0
votes

oxygène utilise la suite Apache XMERES / J (Java) XML pour analyser et valider XML contre DTDS ou XSDS (voir par exemple. https://www.oxygenxml.com/forum/topic15534.html ). La plupart probablement, Apache Xerces est fortement personnalisé et étendu avec des composants JAXP supplémentaires à utiliser dans l'oxygène, tel que nécessaire pour les métadonnées DTD et XSD pour l'édition interactive et pour la validation contre RNG, etc.


0 commentaires

0
votes

Dans le cas de la validation DTD, le processus de validation est toujours étroitement associé à une analyse XML; De nombreux analyseurs XML ont une option permettant de changer de validation sur ou éteint, et s'il est activé, l'analyseur récupérera la DTD et validera l'instance contre elle, généralement "à la volée" pendant le processus d'analyse.

Les analyseurs XML peuvent venir avec votre langage de programmation (par exemple, Java, C #, Python) ou sont peut-être des bibliothèques tiers libres. Certains pourraient être groupés avec un système d'exploitation, mais ils ne font pas vraiment partie du système d'exploitation.

Dans le cas de la validation du schéma XSD, le validateur peut être contenant dans le cadre d'un analyseur XML comme ci-dessus, ou peut être un composant distinct. L'analyseur peut donc avoir une option pour invoquer la validation du schéma à la volée lors de l'analyse, ou il pourrait y avoir un utilitaire de validation autonome. Par exemple, dans le monde Java, l'analyseur XERCES a des options pour invoquer la validation XSD, mais il existe également un validateur de schéma de Saxon, qui comprend le traitement XSLT et XQuery, mais ne fait pas elle-même d'analyser XML.

Les environnements de développement interactifs («éditeurs») tels que l'oxygène et Altova XMLSPY incluent généralement un validateur de schéma XSD; Cela pourrait être celui qu'ils se sont développés (Altova) ou un produit tiers qu'ils ont intégré (oxygène vous permet de choisir entre les validateurs XERCES et SAXON).


0 commentaires