XML模式:如何使用自定义“ SimpleType”类型指定属性?
-
30-09-2019 - |
题
在我的XML模式定义中,我试图将属性的值限制为0到100之间的整数。
关于下面的示例模式,我希望属性“ attr” on element“ root”具有此限制。为此,我定义了一个简单的“百分比”,并将其设置为“ attr”的“类型”。
但是,我的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>
解决方案
看来您缺少架构root元素上的名称空间声明:
xmlns="http://testtttt"
因此类型参考是无效的。
不隶属于 StackOverflow