--- /dev/null
+<!ELEMENT lista_de_personas (persona*)>
+<!ELEMENT persona (nombre, fechanacimiento?, sexo?, numeroseguridadsocial?)>
+<!ELEMENT nombre (#PCDATA) >
+<!ELEMENT fechanacimiento (#PCDATA) >
+<!ELEMENT sexo (#PCDATA) >
+<!ELEMENT numeroseguridadsocial (#PCDATA)>
--- /dev/null
+<!ELEMENT tag (tagA, tagB)+>
+<!ELEMENT tagA (tagB* | tagC)>
+<!ELEMENT tagB (#PCDATA| tagC)*>
+<!ELEMENT tagC (#PCDATA)>
--- /dev/null
+<!ELEMENT XXX (AAA+, BBB+)>
+<!ELEMENT AAA (BBB | CCC)>
+<!ELEMENT BBB (#PCDATA | CCC)*>
+<!ELEMENT CCC (#PCDATA)>
--- /dev/null
+<!ELEMENT atributos (#PCDATA)>
+<!ATTLIST atributos
+ aaa CDATA #IMPLIED
+ bbb NMTOKEN #REQUIRED
+ ccc NMTOKENS #REQUIRED>
--- /dev/null
+<!ELEMENT tag (tagA+ , tagB+ , tagC+)>
+<!ELEMENT tagA (#PCDATA)>
+<!ELEMENT tagB (#PCDATA)>
+<!ELEMENT tagC (#PCDATA)>
+<!ATTLIST tagA
+ id ID #REQUIRED>
+<!ATTLIST tagB
+ code ID #IMPLIED
+ list NMTOKEN #IMPLIED>
+<!ATTLIST tagC
+ X ID #REQUIRED
+ Y NMTOKEN #IMPLIED>
--- /dev/null
+<!ELEMENT XXX (AAA+, BBB+)>
+<!ELEMENT AAA (#PCDATA)>
+<!ELEMENT BBB (#PCDATA)>
+<!ATTLIST AAA
+ true ( yes | no ) "yes">
+<!ATTLIST BBB
+ month NMTOKEN "1">
--- /dev/null
+<?xml version="1.0"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+targetNamespace="http://www.w3schools.com"
+xmlns="http://www.w3schools.com"
+elementFormDefault="qualified">
+
+<xs:element name="note">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="to" type="xs:string"/>
+ <xs:element name="from" type="xs:string"/>
+ <xs:element name="heading" type="xs:string"/>
+ <xs:element name="body" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:element>
+
+</xs:schema>
--- /dev/null
+<?xml version="1.0"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+targetNamespace="http://www.w3schools.com"
+xmlns="http://www.w3schools.com"
+elementFormDefault="qualified">
+
+<xs:element name="pelicula">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="titulo" type="xs:string"/>
+ <xs:element name="director" type="xs:string"/>
+ <xs:element name="fecha" type="xs:date"/>
+ <xs:element name="actores">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="actor" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="nombre" type="xs:string"/>
+ <xs:attribute name="personaje" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+</xs:element>
+
+</xs:schema>
--- /dev/null
+#!/usr/bin/python
+
+import sys
+from minixsv import pyxsval as xsv
+
+if len(sys.argv) != 3:
+ print "help:"
+ print sys.argv[0], "fichero.xml", "fichero.xsd"
+ sys.exit()
+
+try:
+ etw = xsv.parseAndValidateXmlInput( sys.argv[1], sys.argv[2], xmlIfClass=xsv.XMLIF_ELEMENTTREE)
+ et = etw.getTree()
+ root = et.getroot()
+except xsv.XsvalError,errstr:
+ print errstr
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE lista_de_personas SYSTEM "dtd01.dtd">
+<lista_de_personas>
+ <persona>
+ <nombre>José García</nombre>
+ <fechanacimiento>25/04/1984</fechanacimiento>
+ <sexo>Varón</sexo>
+ </persona>
+</lista_de_personas>
+
--- /dev/null
+<!DOCTYPE tag SYSTEM "dtd02.dtd">
+<tag>
+ <tagA/>
+ <tagB>
+ <tagC>textoc</tagC>
+ Textob
+ </tagB>
+
+</tag>
--- /dev/null
+<!DOCTYPE XXX SYSTEM "dtd03.dtd">
+<XXX>
+ <AAA>
+ <CCC>Exactamente un elemento.</CCC>
+ </AAA>
+ <AAA>
+ <BBB>
+ <CCC/>
+ <CCC/>
+ <CCC/>
+ </BBB>
+ </AAA>
+ <BBB/>
+ <BBB>
+ Esta es <CCC/> una combinacion <CCC/> de <CCC> elementos CCC </CCC> y texto <CCC/>.
+ </BBB>
+ <BBB>
+ Sólo texto.
+ </BBB>
+</XXX>
--- /dev/null
+<!DOCTYPE atributos SYSTEM "dtd04.dtd">
+<atributos aaa="texto#" bbb="ta" ccc="x x"/>
--- /dev/null
+ <!DOCTYPE tag SYSTEM "dtd05.dtd">
+
+<tag>
+ <tagA id="a1"/>
+ <tagA id="a2"/>
+ <tagA id="a3"/>
+ <tagB code="QWQ-123-14-6" list="14:5"/>
+ <tagC X="zero" Y="16" />
+</tag>
--- /dev/null
+<!DOCTYPE XXX SYSTEM "dtd06.dtd">
+
+<XXX>
+ <AAA true="yes"/>
+ <AAA true="no"/>
+ <AAA/>
+ <BBB month="8" />
+ <BBB month="2" />
+ <BBB/>
+</XXX>
--- /dev/null
+
+<?xml version="1.0"?>
+<documento tipo=XML>
+ <!-- esta línea será ignorada -->
+ <autor>
+ <nombre>Daniel</nombre>
+ <apellidos>García Moreno</apellidos>
+ </autor>
+
+ <nombre>xml01.xml</nombre>
+ <fecha> sáb oct 4 11:06:55 CEST 2008 </fecha>
+
+ <etiqueta_padre>
+ <etiqueta_abierta>
+ </etiqueta_padre>
+ </etiqueta_abierta>
+
+ <validado>
+</documento>
--- /dev/null
+
+<pelicula
+xmlns="http://www.w3schools.com"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://www.w3schools.com pelicula.xsd">
+
+ <titulo>Torrente, el brazo tonto de la ley</titulo>
+ <director>Santiago Segura</director>
+ <fecha>1998-03-13</fecha>
+ <actores>
+ <actor nombre="Santiago Segura" personaje="Torrente"/>
+ <actor nombre="Javier Cámara" personaje="Rafi"/>
+ </actores>
+</pelicula>
--- /dev/null
+<?xml version="1.0"?>
+
+<note
+xmlns="http://www.w3schools.com"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://www.w3schools.com note.xsd">
+
+<to>Tove</to>
+ <from>Jani</from>
+ <heading>Reminder</heading>
+ <body>Don't forget me this weekend!</body>
+</note>
--- /dev/null
+<documento>
+ <autor>Daniel García Moreno</autor>
+ <tipo>XML</tipo>
+ <nombre>xml01.xml</nombre>
+ <fecha> sáb oct 4 11:06:55 CEST 2008 </fecha>
+</documento>
--- /dev/null
+<?xml version="1.0"?>
+<documento tipo="XML">
+ <!-- esta línea será ignorada -->
+ <autor>
+ <nombre>Daniel</nombre>
+ <apellidos>García Moreno</apellidos>
+ </autor>
+
+ <nombre>xml01.xml</nombre>
+ <fecha> sáb oct 4 11:06:55 CEST 2008 </fecha>
+ <validado/>
+</documento>
--- /dev/null
+http://www.w3schools.com/Schema/schema_intro.asp
\ No newline at end of file