Biblioteca
XML Biblioteca
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE biblioteca SYSTEM "01.dtd">
<!-- XML Almacena Datos -->
<biblioteca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="01.xsd">
<libro idLibro="l1" formato="digital" genero="Aventura">
<titulo>Wigetta</titulo>
<autores>
<autor>
<nombre> Samuel</nombre>
<apellido> De Luque</apellido>
<nacionalidad> Española</nacionalidad>
</autor>
<autor>
<nombre> Guillermo</nombre>
<apellido> Diaz</apellido>
<nacionalidad> Española</nacionalidad>
</autor>
</autores>
<año>2015</año>
</libro>
<libro idLibro="l2" genero="Autohumillacion">
<titulo>El Libro Troll</titulo>
<autores>
<autor>
<nombre> Ruben</nombre>
<apellido> Doblas</apellido>
<nacionalidad> Española</nacionalidad>
</autor>
</autores>
<año>2014</año>
</libro>
<libro idLibro="l3" idioma="Koreano" genero="Restrospectivo">
<titulo>Luna de Pluton</titulo>
<autores>
<autor>
<nombre> Dross</nombre>
<apellido> Xd</apellido>
<nacionalidad> Venezolano</nacionalidad>
</autor>
</autores>
<año>2016</año>
</libro>
<libro idLibro="l4" idioma="Koreano" refLibro="l3">
<titulo>Luna de Jupiter</titulo>
<autores>
<autor>
<nombre> Yo</nombre>
<apellido> Mismo</apellido>
<nacionalidad> Venezolano</nacionalidad>
</autor>
</autores>
<año>2017</año>
</libro>
</biblioteca>
DTD Biblioteca
<!ELEMENT biblioteca (libro)+>
<!ATTLIST biblioteca xmlns:xsi CDATA #REQUIRED
xsi:noNamespaceSchemaLocation CDATA #REQUIRED>
<!ELEMENT libro (titulo, autores, año)>
<!ATTLIST libro idLibro ID #REQUIRED>
<!ATTLIST libro refLibro IDREFS #IMPLIED>
<!ATTLIST libro genero CDATA #IMPLIED>
<!ATTLIST libro idioma CDATA "Español">
<!ATTLIST libro formato (impreso | digital) "impreso">
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT año (#PCDATA)>
<!ELEMENT autores (autor)+>
<!ELEMENT autor (nombre, apellido, nacionalidad)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellido (#PCDATA)>
<!ELEMENT nacionalidad (#PCDATA)>
XSD Biblioteca
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="biblioteca">
<xs:complexType>
<xs:sequence>
<xs:element name="libro" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="titulo">
<xs:annotation>
<xs:documentation> Numero maxiomo de caracters en el titulo es 50</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"></xs:maxLength>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="autores">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="autor">
<xs:complexType>
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="apellido" type="xs:string"/>
<xs:element name="nacionalidad" type="xs:string" default="España"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="año" type="xs:gYear"/>
</xs:sequence>
<xs:attribute name="idLibro" type="xs:ID" use="required"/>
<xs:attribute name="refLibro" type="xs:IDREFS"/>
<xs:attribute name="genero" type="xs:string" use="optional"/>
<xs:attribute name="idioma" type="xs:string" use="optional" default="Español"/>
<xs:attribute name="formato" default="impreso">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="impreso"/>
<xs:enumeration value="digital"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>