Ejercicio XML para Crear un XSD

Documento XML

Consideremos el siguiente documento XML que describe un catálogo de productos con información sobre los productos y sus detalles. Tu tarea es crear un archivo XSD que valide la estructura de este XML.

<catalog>
    <product id="P001">
        <name>Laptop</name>
        <description>15 inch, 16GB RAM</description>
        <price currency="USD">1200.00</price>
        <availability>in stock</availability>
    </product>
    <product id="P002">
        <name>Smartphone</name>
        <description>6 inch, 128GB Storage</description>
        <price currency="USD">800.00</price>
        <availability>out of stock</availability>
    </product>
    <product id="P003">
        <name>Tablet</name>
        <description>10 inch, 64GB Storage</description>
        <price currency="USD">600.00</price>
        <availability>in stock</availability>
    </product>
</catalog>

Instrucciones para Crear el XSD

  1. Define el elemento raíz catalog.
  2. Cada product debe tener un atributo id de tipo string.
  3. Cada product debe contener los elementos name (string), description (string), price (decimal con atributo currency de tipo string) y availability (string).

Solución en XSD

A continuación se presenta una posible solución en XSD para validar el documento XML anterior:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <!-- Definición del elemento raíz -->
    <xs:element name="catalog">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="product" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="name" type="xs:string"/>
                            <xs:element name="description" type="xs:string"/>
                            <xs:element name="price">
                                <xs:complexType>
                                    <xs:simpleContent>
                                        <xs:extension base="xs:decimal">
                                            <xs:attribute name="currency" type="xs:string" use="required"/>
                                        </xs:extension>
                                    </xs:simpleContent>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="availability" type="xs:string"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>

Explicación de la Solución

  1. Elemento catalog: Es el elemento raíz que contiene múltiples product.
  2. Elemento product: Cada product tiene un atributo id de tipo string y contiene los elementos name (string), description (string), price (decimal con atributo currency de tipo string y requerido) y availability (string).

Este XSD valida la estructura del XML, asegurando que todos los elementos y atributos estén presentes y tengan los tipos de datos correctos.

computer codes
Photo by Pixabay on Pexels.com

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad