Documentos de Académico
Documentos de Profesional
Documentos de Cultura
gestión de información -
Curso 2023/2024
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
ÍNDICE
EJERCICIO 1 2
El peso es un número positivo y no puede tener más de tres decimales. 3
Puede haber más de un tamaño. 4
El atributo tipo sólo puede tomar los valores ‘matricial’, ‘láser’, ‘térmica’, y ‘tinta’. Es
obligatorio. 4
El atributo numSerie es obligatorio y hace de identificador. 4
El cartucho está formado por una D mayúscula, tres guiones, cuatro números y una o
dos letras mayúsculas. 5
Todos los elementos son obligatorios. 5
El elemento enred es opcional. De estar presente, es un elemento vacío. 5
El atributo compra, opcional, guarda el año de compra. Es un número entero positivo. 5
En cada fichero hay datos para una o más impresoras. 6
1
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
EJERCICIO 1
1.- Una empresa utiliza ficheros XML para realizar el inventario, entre otras cosas, de
impresoras. Para cada impresora se quiere guardar su número de serie, marca, modelo,
peso, tamaños de papel con los que puede trabajar, el cartucho que usa, el tipo, el año
de compra y si está en red o no.
<impresoras>
<impresora numSerie="i245" tipo="láser" compra="2019">
<marca>Epson</marca>
<modelo>EPL300</modelo>
<peso>4.52</peso>
<tamaño>A4</tamaño>
<tamaño>A5</tamaño>
<cartucho>D---1234BV</cartucho>
<enred/>
</impresora>
<impresora numSerie="i246" tipo="matricial" compra="2021">
<marca>HP</marca>
<modelo>LaserJet 2410</modelo>
<peso>3.2</peso>
<tamaño>A4</tamaño>
<cartucho>D---4456P</cartucho>
</impresora>
</impresoras>
Escribe un XML Schema para estos ficheros, eligiendo los tipos de datos más
apropiados y teniendo en cuenta que:
2
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
SOLUCIÓN EJERCICIO 1:
El primer paso para poder ver la estructura general del fichero he empezado por
definir los elementos que componen cada impresora y sin aplicar las
restricciones.
Elemento Peso:
<xs:simpleType name="pesoImpresora">
<xs:restriction base="xs:decimal"> Número decimal
<xs:minInclusive value="0"/> Minimo 0
<xs:fractionDigits value="3"/> Formado con tres decimales
</xs:restriction>
</xs:simpleType>
3
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
Elemento Tamaño
En la misma línea, dentro del elemento impresora, aplicamos los atributos para
cumplir la especificaciones:
Atributo tipo:
<xs:simpleType name="tipoImpresora">
<xs:restriction base="xs:string">
<xs:enumeration value="matricial"/>
<xs:enumeration value="láser"/>
<xs:enumeration value="térmica"/>
<xs:enumeration value="tinta"/>
</xs:restriction>
</xs:simpleType>
Con restriction base especificamos las opciones posibles del tipo de impresoras.
Atributo NumSerie:
4
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
Elemento Cartucho:
<xs:simpleType name="numSerieCartucho">
<xs:restriction base="xs:string">
<xs:pattern value="D---\d{4}[A-Z]{1,2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="añoCompra">
<xs:restriction base="xs:positiveInteger"/>
</xs:simpleType>
5
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
<xs:element name=""impresoras">
<!-- Queremos definirr el elemento impresorars→
<!-- Referenciamos al elemento impresora y pueden existir número
ilimitadas de impresoras-->
<xs:complexType>
<xs:sequence>
<xs:element ref="impresora" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
6
Lenguajes de marcas y sistemas de gestión de información Tarea 04
Alejandro Exposito Revenaque Curso 2023/24
finalmente el archivo se ve así: