Esquema XSD para Préstamo Bibliotecario: Estructura y Validación XML

Informática5,13 KB

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.

Descargar

PDF Word HTML