Valid XHTML     Valid CSS2    

Listing du fichier demoXmlTxt.txt

 

00001     
00002     ########################################################################
00003     #
00004     # 1. Test si un document est bien formé
00005     #    dbf.xml : document bien formé
00006     #    dmf.xml : document mal  formé
00007     #
00008     ########################################################################
00009     
00010     # 1a. en perl
00011     
00012     testebfpe
00013        syntaxe : testebf fichier
00014     
00015     testebfpe dbf.xml
00016     
00017     <?xml version="1.0" encoding="ISO-8859-1"?>
00018     <xsd:schema targetNamespace="http://www.interieur.gouv.fr/ACTES#v1.1-20040216"
00019      xmlns:insee="http://xml.insee.fr/schema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
00020      xmlns:actes="http://www.interieur.gouv.fr/ACTES#v1.1-20040216"
00021      elementFormDefault="qualified" attributeFormDefault="qualified">
00022     <xsd:import namespace="http://xml.insee.fr/schema" schemaLocation="siret.xsd"/>
00023     <xsd:attribute name="Arrondissement">
00024     <xsd:annotation>
00025     [...]
00026                 <xsd:element name="Matieres">
00027                    <xsd:complexType>
00028                       <xsd:sequence maxOccurs="unbounded">
00029                          <xsd:element name="Matiere1">
00030                             <xsd:complexType>
00031                                <xsd:complexContent>
00032                                   <xsd:extension base="actes:Matiere">
00033                                      <xsd:sequence maxOccurs="unbounded">
00034                                         <xsd:element name="Matiere2">
00035                                            <xsd:complexType>
00036                                               <xsd:complexContent>
00037                                                  <xsd:extension base="actes:Matiere">
00038                                                     <xsd:sequence minOccurs="0" maxOccurs="unbounded">
00039                                                        <xsd:element name="Matiere3">
00040                                                           <xsd:complexType>
00041                                                              <xsd:complexContent>
00042                                                                 <xsd:extension base="actes:Matiere">
00043                                                                    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
00044                                                                       <xsd:element name="Matiere4">
00045                                                                          <xsd:complexType>
00046                                                                             <xsd:complexContent>
00047                                                                                <xsd:extension base="actes:Matiere">
00048                                                                                   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
00049                                                                                      <xsd:element name="Matiere5" type="actes:Matiere"></xsd:element>
00050                                                                                   </xsd:sequence>
00051                                                                                </xsd:extension>
00052                                                                             </xsd:complexContent>
00053                                                                          </xsd:complexType>
00054                                                                       </xsd:element>
00055                                                                    </xsd:sequence>
00056                                                                 </xsd:extension>
00057                                                              </xsd:complexContent>
00058                                                           </xsd:complexType>
00059                                                        </xsd:element>
00060                                                     </xsd:sequence>
00061                                                  </xsd:extension>
00062                                               </xsd:complexContent>
00063                                            </xsd:complexType>
00064                                         </xsd:element>
00065                                      </xsd:sequence>
00066                                   </xsd:extension>
00067                                </xsd:complexContent>
00068                             </xsd:complexType>
00069                          </xsd:element>
00070                       </xsd:sequence>
00071                    </xsd:complexType>
00072                 </xsd:element>
00073              </xsd:sequence>
00074           </xsd:complexType>
00075        </xsd:element>
00076     </xsd:schema>
00077     
00078     Le document nommé dbf.xml est bien formé.
00079     
00080     
00081     testebfpe dmf.xml
00082     
00083     <?xml-stylesheet type="text/xsl" href="titres.xsl"?><FILMS>
00084     <FILM Annee="1958">
00085     <TITRE>Vertigo</TITRE>
00086     <GENRE>Drame</GENRE><PAYS>USA</PAYS><MES idref="3"></MES>
00087     <ROLES>
00088     <ROLE><PRENOM>James</PRENOM><NOM>Stewart</NOM>
00089     [..]
00090     
00091     Document dmf.xml mal formé :
00092     
00093     mismatched tag at line 219, column 43, byte 11057 at /usr/lib/perl5/XML/Parser.pm line 187
00094     
00095     # 1b. en php
00096     
00097     testebfph
00098     
00099     testebf.php (gH) 2012
00100       syntaxe : testebfph fichierXML
00101       exemple : testebfph dmf.xml
00102     
00103     testebfph dbf.xml
00104       Document dbf.xml bien formé
00105     
00106     testebfph dmf.xml
00107     
00108     PHP Warning:  DOMDocument::load(): Opening and ending tag mismatch: NOM line 218 and ROLE
00109     in /home/gh/public_html/tuteurs/dmf.xml, line: 219 in /home/gh/Bin/testebf.php on line 26
00110     PHP Stack trace:
00111     PHP   1. {main}() /home/gh/Bin/testebf.php:0
00112     PHP   2. DOMDocument->load() /home/gh/Bin/testebf.php:26
00113     PHP Warning:  DOMDocument::load(): expected '>' in /home/gh/public_html/tuteurs/dmf.xml,
00114     line: 220 in /home/gh/Bin/testebf.php on line 26
00115     PHP Stack trace:
00116     PHP   1. {main}() /home/gh/Bin/testebf.php:0
00117     PHP   2. DOMDocument->load() /home/gh/Bin/testebf.php:26
00118     PHP Warning:  DOMDocument::load(): Opening and ending tag mismatch: ROLES line 217 and FILM
00119     in /home/gh/public_html/tuteurs/dmf.xml, line: 225 in /home/gh/Bin/testebf.php on line 26
00120     PHP Stack trace:
00121     PHP   1. {main}() /home/gh/Bin/testebf.php:0
00122     PHP   2. DOMDocument->load() /home/gh/Bin/testebf.php:26
00123     PHP Warning:  DOMDocument::load(): expected '>' in /home/gh/public_html/tuteurs/dmf.xml,
00124     line: 705 in /home/gh/Bin/testebf.php on line 26
00125     PHP Stack trace:
00126     PHP   1. {main}() /home/gh/Bin/testebf.php:0
00127     PHP   2. DOMDocument->load() /home/gh/Bin/testebf.php:26
00128     PHP Warning:  DOMDocument::load(): Premature end of data in tag FILMS line 3
00129     in /home/gh/public_html/tuteurs/dmf.xml, line: 706 in /home/gh/Bin/testebf.php on line 26
00130     PHP Stack trace:
00131     PHP   1. {main}() /home/gh/Bin/testebf.php:0
00132     PHP   2. DOMDocument->load() /home/gh/Bin/testebf.php:26
00133     
00134     Erreur, document dmf.xml mal formé
00135     
00136     # 1c. en java
00137     
00138     # 1d. avec rxp
00139     
00140     rxp -h
00141     usage: rxp [-abemnNsStvVx] [-o b|0|1|2|3] [-c encoding] [-u base_uri] [url]
00142     
00143     rxp -s dbf.xml
00144     
00145     rxp -s dmf.xml
00146     Error: Mismatched end tag: expected </NOM>, got </ROLE>
00147      in unnamed entity at line 219 char 48 of file:///home/gh/public_html/tuteurs/dmf.xml
00148     
00149     # 1e. avec xmllint
00150     
00151     xmllint
00152     Usage : xmllint [options] XMLfiles ...
00153        Parse the XML files and output the result of the parsing
00154        --version : display the version of the XML library used
00155        --debug : dump a debug tree of the in-memory document
00156        --shell : run a navigating shell
00157        --debugent : debug the entities defined in the document
00158        --copy : used to test the internal copy implementation
00159        --recover : output what was parsable on broken XML documents
00160        --huge : remove any internal arbitrary parser limits
00161        --noent : substitute entity references by their value
00162        --noout : don't output the result tree
00163        --path 'paths' : provide a set of paths for resources
00164        --load-trace : print trace of all external entites loaded
00165        --nonet : refuse to fetch DTDs or entities over network
00166        --nocompact : do not generate compact text nodes
00167        --htmlout : output results as HTML
00168        --nowrap : do not put HTML doc wrapper
00169        --valid : validate the document in addition to std well-formed check
00170        --postvalid : do a posteriori validation, i.e after parsing
00171        --dtdvalid URL : do a posteriori validation against a given DTD
00172        --dtdvalidfpi FPI : same but name the DTD with a Public Identifier
00173        --timing : print some timings
00174        --output file or -o file: save to a given file
00175        --repeat : repeat 100 times, for timing or profiling
00176        --insert : ad-hoc test for valid insertions
00177        --compress : turn on gzip compression of output
00178        --html : use the HTML parser
00179        --xmlout : force to use the XML serializer when using --html
00180        --push : use the push mode of the parser
00181        --memory : parse from memory
00182        --maxmem nbbytes : limits memory allocation to nbbytes bytes
00183        --nowarning : do not emit warnings from parser/validator
00184        --noblanks : drop (ignorable?) blanks spaces
00185        --nocdata : replace cdata section with text nodes
00186        --format : reformat/reindent the input
00187        --encode encoding : output in the given encoding
00188        --dropdtd : remove the DOCTYPE of the input docs
00189        --c14n : save in W3C canonical format v1.0 (with comments)
00190        --c14n11 : save in W3C canonical format v1.1 (with comments)
00191        --exc-c14n : save in W3C exclusive canonical format (with comments)
00192        --nsclean : remove redundant namespace declarations
00193        --testIO : test user I/O support
00194        --catalogs : use SGML catalogs from $SGML_CATALOG_FILES
00195                     otherwise XML Catalogs starting from
00196                 file:///etc/xml/catalog are activated by default
00197        --nocatalogs : deactivate all catalogs
00198        --auto : generate a small doc on the fly
00199        --xinclude : do XInclude processing
00200        --noxincludenode : same but do not generate XInclude nodes
00201        --nofixup-base-uris : do not fixup xml:base uris
00202        --loaddtd : fetch external DTD
00203        --dtdattr : loaddtd + populate the tree with inherited attributes
00204        --stream : use the streaming interface to process very large files
00205        --walker : create a reader and walk though the resulting doc
00206        --pattern pattern_value : test the pattern support
00207        --chkregister : verify the node registration code
00208        --relaxng schema : do RelaxNG validation against the schema
00209        --schema schema : do validation against the WXS schema
00210        --schematron schema : do validation against a schematron
00211        --sax1: use the old SAX1 interfaces for processing
00212        --sax: do not build a tree but work just at the SAX level
00213        --oldxml10: use XML-1.0 parsing rules before the 5th edition
00214     
00215     Libxml project home page: http://xmlsoft.org/
00216     To report bugs or get some help check: http://xmlsoft.org/bugs.html
00217     
00218     xmllint --noout dbf.xml
00219     
00220     xmllint --noout dmf.xml
00221     dmf.xml:219: parser error : Opening and ending tag mismatch: NOM line 218 and ROLE
00222     <INTITULE>Mary Jensen Matthews</INTITULE></ROLE><ROLE><PRENOM>Mat</PRENOM><NOM>D
00223                                                     ^
00224     dmf.xml:220: parser error : expected '>'
00225     <INTITULE>Pat Healy</INTITULE></ROLE></ROLES>
00226                                                ^
00227     dmf.xml:225: parser error : Opening and ending tag mismatch: ROLES line 217 and FILM
00228     </FILM>
00229            ^
00230     dmf.xml:705: parser error : expected '>'
00231     </FILMS>
00232           ^
00233     dmf.xml:706: parser error : Premature end of data in tag FILMS line 3
00234     
00235     
00236     xmlstarlet
00237     XMLStarlet Toolkit: Command line utilities for XML
00238     Usage: xml [<options>] <command> [<cmd-options>]
00239     where <command> is one of:
00240       ed    (or edit)      - Edit/Update XML document(s)
00241       sel   (or select)    - Select data or query XML document(s) (XPATH, etc)
00242       tr    (or transform) - Transform XML document(s) using XSLT
00243       val   (or validate)  - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG)
00244       fo    (or format)    - Format XML document(s)
00245       el    (or elements)  - Display element structure of XML document
00246       c14n  (or canonic)   - XML canonicalization
00247       ls    (or list)      - List directory as XML
00248       esc   (or escape)    - Escape special XML characters
00249       unesc (or unescape)  - Unescape special XML characters
00250       pyx   (or xmln)      - Convert XML into PYX format (based on ESIS - ISO 8879)
00251       p2x   (or depyx)     - Convert PYX into XML
00252     <options> are:
00253       --version            - show version
00254       --help               - show help
00255     Wherever file name mentioned in command help it is assumed
00256     that URL can be used instead as well.
00257     
00258     Type: xml <command> --help <ENTER> for command help
00259     
00260     XMLStarlet is a command line toolkit to query/edit/check/transform
00261     XML documents (for more information see http://xmlstar.sourceforge.net/)
00262     
00263     xmlstarlet val -w dbf.xml
00264     dbf.xml - valid
00265     
00266     xmlstarlet val -w dmf.xml
00267     dmf.xml:219: parser error : Opening and ending tag mismatch: NOM line 218 and ROLE
00268     <INTITULE>Mary Jensen Matthews</INTITULE></ROLE><ROLE><PRENOM>Mat</PRENOM><NOM>D
00269                                                     ^
00270     dmf.xml:220: parser error : expected '>'
00271     <INTITULE>Pat Healy</INTITULE></ROLE></ROLES>
00272                                                ^
00273     dmf.xml:225: parser error : Opening and ending tag mismatch: ROLES line 217 and FILM
00274     </FILM>
00275            ^
00276     dmf.xml:705: parser error : expected '>'
00277     </FILMS>
00278           ^
00279     dmf.xml:706: parser error : Premature end of data in tag FILMS line 3
00280     
00281     ^
00282     dmf.xml - invalid
00283     
00284     ########################################################################
00285     #
00286     # 2. Test si un document est valide pour sa dtd
00287     #    adv.xml : document valide      pour id.dtd
00288     #    adn.xml : document non valide  pour id.dtd
00289     #
00290     ########################################################################
00291     
00292     # 2a. en perl
00293     
00294     testevdpe
00295        syntaxe : testevd fichier_XML fichier_DTD
00296     
00297     testevdpe adv.xml id.dtd
00298     <id>
00299      <nom>    BOND  </nom>
00300      <prenom> James </prenom>
00301     </id>
00302     Le document nommé adv.xml est valide pour sa dtd nommée id.dtd
00303     
00304     testevdpe adn.xml id.dtd
00305     <id>
00306      <nom>    BOND  </nom>
00307     </id>XML::Checker ERROR-154: bad order of Elements Found=[nom] RE=[((nom)(prenom))]
00308        Context: line 5, column 0, byte 98
00309     Le document nommé adn.xml est non valide pour sa dtd nommée id.dtd
00310     
00311     # 2b. en php
00312     
00313     testevdph
00314     
00315     testevd.php (gH) 2012
00316       syntaxe : testevdph fichierXML fichierDTD
00317       exemple : testevdph dnv.xml id.dtd
00318     
00319     testevdph adv.xml id.dtd
00320     Document adv.xml bien formé et valide pour id.dtd
00321     
00322     testevdph adn.xml id.dtd
00323     PHP Warning:  DOMDocument::validate(): Element id content does not follow the DTD, expecting (nom , prenom), got (nom ) in /home/gh/Bin/testevd.php on line 30
00324     PHP Stack trace:
00325     PHP   1. {main}() /home/gh/Bin/testevd.php:0
00326     PHP   2. DOMDocument->validate() /home/gh/Bin/testevd.php:30
00327     
00328     Erreur, document adn.xml non valide pour id.dtd
00329     
00330     # 2c. en java
00331     
00332     # 2d. avec rxp
00333     
00334     rxp -V -s adv.xml
00335     
00336     rxp -V -s adn.xml
00337     Warning: Content model for id does not allow it to end here
00338      in unnamed entity at line 5 char 5 of file:///home/gh/public_html/tuteurs/adn.xml
00339     
00340     # 2e. avec xmllint
00341     ?xmllint --valid --noout dbf.xml
00342     ?xmllint --valid --noout dmf.xml
00343     
00344     # 2f. avec xmlstarlet
00345     
00346     xmlstarlet val --help
00347     XMLStarlet Toolkit: Validate XML document(s)
00348     Usage: xml val <options> [ <xml-file-or-uri> ... ]
00349     where <options>
00350       -w or --well-formed        - validate well-formedness only (default)
00351       -d or --dtd <dtd-file>     - validate against DTD
00352       -s or --xsd <xsd-file>     - validate against XSD schema
00353       -E or --embed              - validate using embedded DTD
00354       -r or --relaxng <rng-file> - validate against Relax-NG schema
00355       -e or --err                - print verbose error messages on stderr
00356       -b or --list-bad           - list only files which do not validate
00357       -g or --list-good          - list only files which validate
00358       -q or --quiet              - do not list files (return result code only)
00359     
00360     NOTE: XML Schemas are not fully supported yet due to its incomplete
00361           support in libxml2 (see http://xmlsoft.org)
00362     
00363     XMLStarlet is a command line toolkit to query/edit/check/transform
00364     XML documents (for more information see http://xmlstar.sourceforge.net/)
00365     
00366     xmlstarlet val -d id.dtd adv.xml
00367     adv.xml - valid
00368     
00369     xmlstarlet val -d id.dtd adn.xml
00370     adn.xml:5: element id: validity error : Element id content does not follow the DTD, expecting (nom , prenom), got (nom )
00371     </id>
00372          ^
00373     adn.xml:3: element id: validity error : Element id content does not follow the DTD, expecting (nom , prenom), got (nom )
00374     adn.xml - invalid
00375     
00376     ########################################################################
00377     #
00378     # 3. Test si un document est valide pour sa xsd
00379     #    axv.xml : document valide      pour id.xsd
00380     #    axn.xml : document non valide  pour id.xsd
00381     #
00382     ########################################################################
00383     
00384     # 3a. en perl
00385     
00386     testevspe
00387        syntaxe : testevsp fichier[.xml] schema[.xsd]
00388     
00389     testevspe axv.xml id.xsd
00390     <id xsi:noNamespaceSchemaLocation="id.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
00391      <nom>    BOND  </nom>
00392      <prenom> James </prenom>
00393     </id>
00394     Le document axv.xml est valide pour son schéma xsd.
00395     
00396     testevspe axn.xml id.xsd
00397     le document nommé axn.xml n'est pas valide pour son schéma : Contents of element 'id' do not match content model '(nom,prenom)'.
00398     <id xsi:noNamespaceSchemaLocation="id.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
00399      <nom>    BOND  </nom>
00400     </id>
00401     
00402     # 3b. en php
00403     
00404     testevsph
00405     
00406     testevs.php (gH) 2012
00407       syntaxe : testevsph fichierXML fichierXSL
00408       exemple : testevsph dv.xml id.xsd
00409     
00410     testevsph axv.xml id.xsd
00411     Document axv.xml bien formé et valide pour id.xsd
00412     
00413     testevsph axn.xml id.xsd
00414     PHP Warning:  DOMDocument::schemaValidate(): Element 'id': Missing child element(s). Expected is ( prenom ). in /home/gh/Bin/testevs.php on line 38
00415     PHP Stack trace:
00416     PHP   1. {main}() /home/gh/Bin/testevs.php:0
00417     PHP   2. DOMDocument->schemaValidate() /home/gh/Bin/testevs.php:38
00418     
00419     Erreur, document axn.xml non valide pour id.xsd
00420     
00421     # 3c. en java
00422     
00423     # 3d. avec xmlstarlet
00424     
00425     xmlstarlet val -s id.xsd axv.xml
00426     axv.xml - valid
00427     
00428     xmlstarlet val -s id.xsd axn.xml
00429     axn.xml - invalid
00430     
00431     ########################################################################
00432     #
00433     # 4. Transformation XSL sur un document XML
00434     #
00435     ########################################################################
00436     
00437     # 4a. en perl
00438     # 4b. en php
00439     # 4c. en java
00440     # 4c. avec xmlstarlet
00441     
00442     xmlstarlet tr --help
00443     XMLStarlet Toolkit: Transform XML document(s) using XSLT
00444     Usage: xml tr [<options>] <xsl-file> {-p|-s <name>=<value>} [<xml-file>...]
00445     where
00446       <xsl-file>      - main XSLT stylesheet for transformation
00447       <xml-file>      - input XML document file/URL (stdin is used if missing)
00448       <name>=<value>  - name and value of the parameter passed to XSLT processor
00449       -p              - parameter is XPATH expression ("'string'" to quote string)
00450       -s              - parameter is a string literal
00451     <options> are:
00452       --help or -h    - diplay help message
00453       --omit-decl     - omit xml declaration <?xml version="1.0"?>
00454       --embed or -E   - allow applying embedded stylesheet
00455       --show-ext      - show list of extensions
00456       --val           - allow validate against DTDs or schemas
00457       --net           - allow fetch DTDs or entities over network
00458       --xinclude      - do XInclude processing on document input
00459       --maxdepth val  - increase the maximum depth
00460       --html          - input document(s) is(are) in HTML format
00461       --catalogs      - use SGML catalogs from $SGML_CATALOG_FILES
00462                         otherwise XML catalogs starting from
00463                         file:///etc/xml/catalog are activated by default
00464     
00465     XMLStarlet is a command line toolkit to query/edit/check/transform
00466     XML documents (for more information see http://xmlstar.sourceforge.net/)
00467     
00468     Current implementation uses libxslt from GNOME codebase as XSLT processor
00469     (see http://xmlsoft.org/ for more details)
00470     
00471     #xmlstarlet val -s id.xsd axv.xml
00472     
00473     # 4d. avec xsltproc

 

 

retour gH    Retour à la page principale de   (gH)