Biblioteca
XML Biblioteca
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE biblioteca SYSTEM '01.dtd'>
<!-- entidad interna,extrrna no fuenciona entity,system para dtd externo-->
<!-- <!ENTITY libro1 'titulo del libro 1']> -->
<!--en
libro esto-> <titulo>&libro1;</titulo> -->
<!--
dtd interno:
<!DOCTYPE biblioteca [
<!ELEMENT biblioteca (libro)+>
<!ELEMENT libro (idlibro,isbn,titulo,genero*,volumen+,autores?)>
<!ELEMENT autores (autor+)>
<!ELEMENT idlibro (#PCDATA)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT genero (#PCDATA)>
<!ELEMENT volumen (#PCDATA)>
<!ELEMENT autor (#PCDATA)>
]> -->
<!-- Información de biblioteca -->
<biblioteca>
<libro id="l1" genero='comedia' idioma="Inglés" formato="digital">
<titulo>Titulo libro 1</titulo>
<autores>
<autor>
<nombre>a</nombre>
<apellido>b</apellido>
<nacionalidad>español</nacionalidad>
</autor>
<autor>
<nombre>f</nombre>
<apellido>g</apellido>
<nacionalidad>español</nacionalidad>
</autor>
</autores>
<anyo>2026</anyo>
</libro>
<libro id="l2" referencia="l1">
<titulo>Titulo libro 2</titulo>
<autores>
<autor>
<nombre>h</nombre>
<apellido>i</apellido>
<nacionalidad>Alemán</nacionalidad>
</autor>
</autores>
<anyo>2000</anyo>
</libro>
</biblioteca>
DTD Biblioteca
<!-- Elemento raíz biblioteca que contiene uno o más libros -->
<!ELEMENT biblioteca (libro+)>
<!-- Cada libro contiene titulo, autores, anyo y genero -->
<!ELEMENT libro (titulo, autores, anyo)>
<!-- Atributo id obligatorio de tipo ID -->
<!ATTLIST libro id ID #REQUIRED>
<!-- Atributo genero opcional -->
<!ATTLIST libro genero CDATA #IMPLIED>
<!-- Atributo idioma con valor por defecto -->
<!ATTLIST libro idioma CDATA "Español">
<!-- Atributo formato con enumeración -->
<!ATTLIST libro formato (impreso | digital) "impreso">
<!-- Atributo referencia opcional que puede referenciar varios libros -->
<!ATTLIST libro referencia IDREF #IMPLIED>
<!-- Elemento titulo con texto -->
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT autores (autor+)>
<!-- Elemento anyo con texto -->
<!ELEMENT anyo (#PCDATA)>
<!-- Cada autor contiene nombre, apellido y nacionalidad -->
<!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>
El número máximo de carácteres es 50
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>