XML Schema: Wie ein Attribut mit einem benutzerdefinierten ‚Simple‘ Typ angeben?

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

  •  30-09-2019
  •  | 
  •  

Frage

In meiner XML-Schema-Definition, ich versuche, den Wert eines Attribut zu beschränken eine ganze Zahl zwischen 0 und 100 zu sein.

Mit Bezug auf das Beispielschema unten, möchte ich Attribut ‚attr‘ auf Element ‚root‘ Diese Einschränkung haben. Um dies zu erreichen definiere ich eine simple ‚Prozentsatz‘ und setzen Sie diese als ‚Typ‘ von ‚attr‘.

Allerdings ist mein XML-Schema-Editor (VS 2008) Flags das Attribut auf, als ein Problem mit: „Typ‚Prozentsatz‘wird nicht deklariert oder ist kein einfacher Typ“.

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

War es hilfreich?

Lösung

Es sieht aus wie Sie eine Namespace-Deklaration auf Ihrem Schema Stammelement fehlt:

xmlns="http://testtttt"

So ist die Typenbezeichnung ist ungültig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top