XML Schema: Comment spécifier un attribut de type « simpleType » une coutume?

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

  •  30-09-2019
  •  | 
  •  

Question

Dans ma définition de schéma XML, je suis en train de limiter la valeur d'un attribut à un nombre entier compris entre 0 et 100.

En ce qui concerne le schéma exemple ci-dessous, je veux attribut « attr » sur l'élément « root » pour que cette restriction. Pour y parvenir, je définir le terme « pourcentage » d'un simpleType et mis cela comme le « type » de « attr ».

Cependant, mon éditeur de schéma XML (VS 2008) flags l'attribut comme ayant un problème: « Type « Pourcentage » est pas déclarée ou non un type 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>

Était-ce utile?

La solution

Il semble que vous manquez une déclaration d'espace de noms sur votre élément racine du schéma:

xmlns="http://testtttt"

Ainsi, la référence de type est invalide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top