Estructura del Esquema XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="PrestamoBibliotecario">
<xs:complexType>
<xs:sequence>
<xs:element name="Bibliotecario" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Nombre" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Apellidos" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FechaPrestamo" type="xs:date" minOccurs="1" maxOccurs="1"/>
<xs:element name="FechaDevolucion" type="xs:date" minOccurs="1" maxOccurs="1"/>
<xs:element name="Lector" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Nombre" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Apellidos" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Telefono" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Direccion" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="TipoCalle" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Calle"/>
<xs:enumeration value="Avenida"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NombreCalle" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Numero" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="CodigoPostal" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Ciudad" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Estado" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Ejemplares" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Ejemplar" maxOccurs="3">
<xs:complexType>
<xs:sequence>
<xs:element name="NumeroRegistro" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Titulo" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Autores" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Folio" type="xs:integer" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Explicación detallada del Esquema XSD
- 1. Elemento Raíz:
<PrestamoBibliotecario> contiene todos los elementos del documento XML. - 2. Bibliotecario: Incluye el nombre y los apellidos del bibliotecario responsable.
- 3. Fechas: Se incluyen elementos específicos para la fecha de préstamo y la fecha de devolución.
- 4. Lector: Contiene la identificación y los datos personales del lector, incluyendo una dirección detallada que se divide en varios subelementos (como tipo de calle, número, código postal, etc.).
- 5. Ejemplares: Permite un máximo de tres ejemplares en préstamo, cada uno con su respectivo número de registro, título y autores.
- 6. Folio: Un número entero único que sirve como identificador principal del préstamo.