Article View: fr.comp.text.xml
Article #108[newbie] Validation XSD/XML
From: apolloj
Date: Fri, 09 Oct 2009 22:48
Date: Fri, 09 Oct 2009 22:48
150 lines
6359 bytes
6359 bytes
Hi,
1/J'ai ce sh�ma info.xsd :
<?xml version="1.0" encoding="utf8" ?>
<xsd:schema xmlns=""
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="">
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="services-test" type="xsd:string"/>
<!-- definition du noeud racine 'services-test' -->
<xsd:complexType name="services-test">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="mat" type="mat"/>
</xsd:sequence>
<xsd:attribute name="noNamespaceSchemaLocation"
type="xsd:token"/>
</xsd:complexType>
<!-- definition du noeud 'mat' -->
<xsd:complexType name="mat">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0"
name="description" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="1"
name="contrats" type="contrats"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:token" use="required"/>
</xsd:complexType>
<!-- defintion du noeud 'contrats'-->
<xsd:complexType name="contrats">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="contrat" type="contrat"/>
</xsd:sequence>
</xsd:complexType>
<!-- validation du noeud 'contrat' -->
<xsd:complexType name="contrat">
<xsd:sequence>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="etatContrat" type="etatContrat"/>
<xsd:element name="services" type="services"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:token"/>
</xsd:complexType>
<!-- Validation de noeud 'EtatContrat' -->
<xsd:complexType name="etatContrat">
<xsd:sequence>
<xsd:element name="etat" type="etat"/>
</xsd:sequence>
<xsd:attribute name="dateEffet" type="xsd:string"
use="optional"/>
</xsd:complexType>
<xsd:complexType name="etat">
<xsd:sequence>
<xsd:element name="description" type="xsd:token"/>
</xsd:sequence>
<xsd:attribute name="name" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="test:etatContrat:prevu"/>
<xsd:enumeration
value="test:etatContrat:operationnel"/>
<xsd:enumeration
value="test:etatContrat:stabilise"/>
<xsd:enumeration
value="test:etatContrat:obsolescent"/>
<xsd:enumeration value="test:etatContrat:retire"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="services">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="service" type="service"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="service">
<xsd:sequence>
<xsd:element name="description" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="accessPoint" type="xsd:anyURI"/>
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="wsdl" type="xsd:anyURI" use="required" />
</xsd:complexType>
</xsd:schema>
2/ Le fichier xml suivant :
<?xml version="1.0" encoding="utf8"?>
<services-test>
<mat name="MAN">
<description>mat</description>
<contrats>
<contrat name="CONTRAT_MAN_top2">
<description>contrat CONTRAT_MAN_top2</description>
<etatContrat>
<etat name=":etatContrat:stabilise">
<description>Stabilis�</description>
</etat>
</etatContrat>
<services>
<service name="RestitutionNomenclatureInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/MAN/contrat_naf"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/MAN/contrat_naf">
<description>Description</description>
</service>
<service name="RestitutionActivitesInterface"
wsdl="http://192.168.31.32:1511/mannaf_CA2_Z2/services/MAN/contrat_naf"
accessPoint="http://192.168.31.32:1511/mannaf_CA2_Z2/services/MAN/contrat_naf">
<description>Description</description>
</service>
</services>
</contrat>
</contrats>
</mat>
</services-test>
3/ Quand j'essaie de valider le fichier xml � partir de xsd :
xmllint --noout --schema ./info.xsd ./info.xml
./info.xml:2: element services-test: Schemas validity error : Element
'services-test': No matching global declaration available.
./info.xml fails to validate
Qq'un peut-il-me donner des infos ?
Mer�i d'avance.
PS :
xmllint --version
xmllint: using libxml version 20632
compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1
FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv
ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug
Zlib
Technical Details
Message-ID:
<4acfbdd9$0$31424$426a34cc@news.free.fr>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!cleanfeed3-b.proxad.net!nnrp3-1.free.fr!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 8a75585569,af86fdbf92d5fc75,start X-Google-Attributes: gid8a75585569,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!cleanfeed3-b.proxad.net!nnrp3-1.free.fr!not-for-mail Date: Sat, 10 Oct 2009 00:48:57 +0200 From: apolloj <apolloj_net@NOSPAMmsn.com> User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 Newsgroups: fr.comp.text.xml Subject: [newbie] Validation XSD/XML Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit Lines: 150 Message-ID: <4acfbdd9$0$31424$426a34cc@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 10 Oct 2009 00:48:57 MEST NNTP-Posting-Host: 88.173.239.181 X-Trace: 1255128537 news-4.free.fr 31424 88.173.239.181:47057 X-Complaints-To: abuse@proxad.net