如何创建有效的内联XML架构?
发布时间:2020-12-16 22:56:23 所属栏目:百科 来源:网络整理
导读:我需要创建一个嵌入式 XML模式,即模式在与数据相同的 XML中定义. 我试图理解如何正确地做到这一点,但到目前为止,我没有得到一个简单的例子来通过验证.这是我试图用作内联架构的简单示例XML: (注意:XML结构(例如root / item)已经在野外,所以我被限制为无法
我需要创建一个嵌入式
XML模式,即模式在与数据相同的
XML中定义.
我试图理解如何正确地做到这一点,但到目前为止,我没有得到一个简单的例子来通过验证.这是我试图用作内联架构的简单示例XML: <?xml version="1.0"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="#mySchema"> <xs:schema id="mySchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="root"> <xs:complexType> <xs:sequence> <xs:element name="item" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <item>String 1</item> <item>String 2</item> <item>String 3</item> </root> 但是,当我通过w3.org XML Schema Validator运行该XML时,XML未通过验证,并显示以下错误消息,表示它不希望看到< xs:schema>作为一个孩子元素!
问:您能向我展示一个带有内联架构定义的简单XML文档示例吗? 解决方法
如果您的root子节点具有xs:schema元素作为子节点,则架构需要允许它具有这样的子节点.允许它的最简单方法是使用通配符:
<xs:sequence> <xs:any processContents="skip" namespace="http://www.w3.org/2001/XMLSchema" minOccurs="0" maxOccurs="1"/> <xs:element name="item" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |