Esquema XML: Cómo especificar un atributo con el tipo de una costumbre 'simpleType'?

StackOverflow https://stackoverflow.com/questions/2865911

  •  30-09-2019
  •  | 
  •  

Pregunta

En mi definición de esquema XML, estoy tratando de restringir el valor de un atributo a ser un número entero entre 0 y 100.

Con referencia al esquema de ejemplo a continuación, quiero atributo 'attr' en el elemento 'raíz' de tener esta restricción. Para lograr este defino 'Porcentaje' un simpleType y establecer esto como el 'tipo' de 'attr'.

Sin embargo, mi editor de esquema XML (VS 2008) banderas de atributos como el que tiene un problema: "Tipo 'porcentaje' no se declara o no es un tipo simple".

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" id="test" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://testtttt">
  <xs:simpleType name="Percentage">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="root">
    <xs:complexType>
      <xs:attribute name="attr" type="Percentage" use="optional" />
    </xs:complexType>
  </xs:element>

¿Fue útil?

Solución

Parece que se echa en falta una declaración de espacio de nombres en el elemento raíz del esquema:

xmlns="http://testtttt"

Así que la referencia de tipo no es válido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top