XML 模式中的 derivedBy 属性,用于创建基本类型列表
derivedBy attribute in XML schema to create a list of basic types
早上好,
我想了解 XML 架构中的属性“derivedBy”如何构建基本类型列表,例如字符串。
我搜索了工作示例。网上的例子不多,但我找到了这个:
https://www.brainbell.com/tutors/XML/XML_Book_B/Viewing_Schemas_in_XML_Tools.htm
不幸的是,我无法让它在两个不同的文件(.xml 和 xsd)中工作,我需要一个工作示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="StringList" base="xs:string" derivedBy="list" />
<xs:complexType name="root">
<xs:sequence>
<xs:element type="StringList" name="myListElement"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="root" type="root"></xs:element>
</xs:schema>
我要验证的 xml 文档是:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="derivedBy.xsd">
<myListElement>
a b c
</myListElement>
</root>
我正在尝试使用 Notepad++ 中的 XML 工具插件对其进行验证,但出现错误我不知道如何修复:
无法解析架构文件。
第 3 行的解析错误:
元素'{http://www.w3.org/2001/XMLSchema}simpleType:内容无效。预期是 (annotation?, (restriction|list|union)).
我做错了什么?
另外,网上查不到derivedBy="list"的资料,是不是已经不用了?
预先感谢您的帮助。
XML 架构 1.0 未定义名称为 'derivedBy' 的任何属性。规范在这里:Part 1 - Structures and Part 2 - Datatypes 并且这些文档中的任何地方都没有提到这样的属性。
如果您想在标签中描述 space 个单独的值列表,那么您需要一个 list type:
因此,您的简单类型定义需要类似于以下内容:
<xs:simpleType name="StringList">
<xs:list itemType="xs:string">
</xs:simpleType>
早上好,
我想了解 XML 架构中的属性“derivedBy”如何构建基本类型列表,例如字符串。
我搜索了工作示例。网上的例子不多,但我找到了这个: https://www.brainbell.com/tutors/XML/XML_Book_B/Viewing_Schemas_in_XML_Tools.htm
不幸的是,我无法让它在两个不同的文件(.xml 和 xsd)中工作,我需要一个工作示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="StringList" base="xs:string" derivedBy="list" />
<xs:complexType name="root">
<xs:sequence>
<xs:element type="StringList" name="myListElement"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="root" type="root"></xs:element>
</xs:schema>
我要验证的 xml 文档是:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="derivedBy.xsd">
<myListElement>
a b c
</myListElement>
</root>
我正在尝试使用 Notepad++ 中的 XML 工具插件对其进行验证,但出现错误我不知道如何修复:
无法解析架构文件。 第 3 行的解析错误: 元素'{http://www.w3.org/2001/XMLSchema}simpleType:内容无效。预期是 (annotation?, (restriction|list|union)).
我做错了什么? 另外,网上查不到derivedBy="list"的资料,是不是已经不用了?
预先感谢您的帮助。
XML 架构 1.0 未定义名称为 'derivedBy' 的任何属性。规范在这里:Part 1 - Structures and Part 2 - Datatypes 并且这些文档中的任何地方都没有提到这样的属性。
如果您想在标签中描述 space 个单独的值列表,那么您需要一个 list type:
因此,您的简单类型定义需要类似于以下内容:
<xs:simpleType name="StringList">
<xs:list itemType="xs:string">
</xs:simpleType>