XML Schema:如何使用自定义'simpleType'类型指定属性?

mac*_*nir 4 xsd simpletype

在我的XML模式定义中,我试图将属性的值限制为0到100之间的整数.

参考下面的示例模式,我希望元素'root'上的属性'attr'具有此限制.为此,我定义了一个simpleType'Percentage'并将其设置为'attr'的'type'.

但是,我的XML模式编辑器(VS 2008)将属性标记为有问题:"类型'百分比'未声明或不是简单类型".

<?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>
Run Code Online (Sandbox Code Playgroud)

xcu*_*cut 5

看起来您在架构根元素上缺少名称空间声明:

xmlns="http://testtttt"
Run Code Online (Sandbox Code Playgroud)

因此类型引用无效.