Domanda

Nella mia definizione dello schema XML, sto cercando di limitare il valore di un attributo di essere un numero intero compreso tra 0 e 100.

Con riferimento allo schema di esempio, voglio attributo 'attr' sull'elemento 'root' di avere questa restrizione. Per raggiungere questo definisco 'Percentuale' un simpleType e impostare questo come il 'tipo' di 'attr'.

Tuttavia, il mio editore schema XML (VS 2008) bandiere l'attributo come avere un problema: "Tipo 'percentuale' non dichiarata o non è un tipo semplice".

<?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>

È stato utile?

Soluzione

Sembra che vi manca una dichiarazione dello spazio dei nomi sul vostro elemento principale dello schema:

xmlns="http://testtttt"

Così il riferimento di tipo non è valido.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top