Quelqu'un a testé avec succès la validation XML en utilisant DB2 V9.5 et plusieurs schémas XML?
J'ai un schéma XML composé de deux fichiers .xsd que j'importe comme objets XSR dans la BD DB2 de la façon suivante:
1 2 3 4 5 6 7 8 9
| REGISTER XMLSCHEMA 'http://PROJET/basictypes'
FROM 'file:///xmlschemas/basictypes.xsd'
AS projet.Document;
ADD XMLSCHEMA DOCUMENT TO projet.Document
ADD 'http://PROJET/document'
FROM 'file:///xmlschemas/document.xsd';
COMPLETE XMLSCHEMA projet.Document; |
Je tente de valider un XML de type document, tel que défini dans document.xsd, où document.xsd utilise les types définis dans basictypes.xsd.
L'entête de document.xsd est donc comme suit:
1 2 3 4 5 6 7
| <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="http://PROJET/basictypes" />
<xsd:simpleType name="serviceType">
...
</xsd:schema> |
Le code SQL pour la validation est:
VALUES ( XMLVALIDATE(? according to xmlschema id projet.Document));
Le ? correspond évidemment à une chaîne passée dans le programme Java d'où j'ai extrait le code SQL.
Je soumet un document invalide (que je vérifie avec SAX et DOM et tous les deux me disent bien que le document n'est pas valide) et DB2 V9.5 me dit que ce document est valide.
Quelqu'un a une idée du problème? J'ai même tenté de fusionner dans un seul fichier le schéma, et j'ai le même problème. C'est tout comme si DB2 ne validait que la conformité XML du document sans égard au schéma.
Partager