Buenas!
Siguiendo los consejos de un compañero, abro aquí un post sobre mi problema con un XSD, y ya vosotreos lo movéis al lugar más oportuno si aquí no está bien.
Aclarar que estoy usando el STYLUS STUDIO 2007
Pues tengo un XML:
Código XML:
Ver original<?xml version="1.0"?>
<libreria xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esquema.xsd">
<libro categoria="biografia">
<titulo>
Diabulus In Musica
</titulo>
<autor>
Espido Freire
</autor>
<editorial>
Planeta
</editorial>
<isbn>48-239-4152-9</isbn>
</libro>
</libreria>
Y su correspondiente esquema:
Código XML:
Ver original<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="libreria" type="t_libreria"/><!--*complejo-->
<!--definimos la libreria-->
<xsd:complexType name="t_libreria">
<xsd:sequence>
<xsd:element name="libro" type="t_lib" maxOccurs="unbounded"/><!--*complejo-->
</xsd:sequence>
</xsd:complexType>
<!--definimos el libro-->
<xsd:complexType name="t_lib">
<xsd:sequence>
<xsd:element name="titulo" type="t_tit"/><!--simple*-->
<xsd:element name="autor" type="xsd:string" minOccurs="1" maxOccurs="2"/><!--estandard*-->
<xsd:element name="editorial" type="xsd:string"/><!--estandard*-->
<xsd:element name="isbn" type="t_is"/><!--simple*-->
</xsd:sequence>
<xsd:attribute name="categoria" type="t_cat" use="required"/>
</xsd:complexType>
<!--definimos el elemento simple titulo. Es simple porque tiene restrcciones, entonces hay q darle un tipo-->
<xsd:simpleType name="t_tit">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
</xsd:restriction>
</xsd:simpleType>
<!--definimos el elemento simple isbn-->
<xsd:simpleType name="t_is">
<xsd:restriction base="xsd:string">
<xsd:length value = "13"/>
<xsd:pattern value = "dd-ddd-dddd-d"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="t_cat">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="biografia"/>
<xsd:enumeration value="ensayo"/>
<xsd:enumeration value="ficcion"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
El XML está bien formado, el XSD es válido, pero al validar el XML con el SXD, me dice lo siguiente:
Código XML:
Ver originalDatatype error: Type:InvalidDatatypeValueException, Message:Value '48-239-4152-9' does not match regular expression facet 'dd-ddd-dddd-d'.
The XML document libreria.xml is NOT valid (1 errors)
Es decir, la máscara da algún error, pero no entiendo por qué.
Muchas gracias a todos.