xsd-validation - xsd 如何在元素中包含 targetNamespace
问题描述
我有以下 xsd 我在其中定义了targetNamespace
. 我想targetNamespace
在元素中包含lastModifiedDate
。这个 xsd 不正确:
<xs:schema version="1.0" targetNamespace="http://com.uciext.ws.hw5" xmlns:tns="http://com.uciext.ws.hw5" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element name="catalog">
<xs:complexType>
<xs:sequence>
<xs:element ref="lastModifiedDate"/>
<xs:element ref="description"/>
<xs:element maxOccurs="unbounded" ref="product"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lastModifiedDate" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="product">
<xs:complexType>
<xs:sequence>
<xs:element ref="sku"/>
<xs:element ref="name"/>
<xs:element ref="price"/>
<xs:element ref="quantity"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sku" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="price" type="xs:double"/>
<xs:element name="quantity" type="xs:double"/>
</xs:schema>
当我检查这个 xsd 时,我得到以下元素:
Error resolving component 'lastModifiedDate'. It was detected that 'lastModifiedDate' has no namespace
我怎样才能包括targetNamespace
?
解决方案
我认为您需要在每个引用的元素中添加名称空间...
<xs:schema version="1.0" targetNamespace="http://com.uciext.ws.hw5" xmlns:tns="http://com.uciext.ws.hw5" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element name="catalog">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:lastModifiedDate"/>
<xs:element ref="tns:description"/>
<xs:element maxOccurs="unbounded" ref="tns:product"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lastModifiedDate" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="product">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:sku"/>
<xs:element ref="tns:name"/>
<xs:element ref="tns:price"/>
<xs:element ref="tns:quantity"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sku" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="price" type="xs:double"/>
<xs:element name="quantity" type="xs:double"/>
</xs:schema>
希望能帮助到你...
问候
推荐阅读
- wordpress - 如果标题包含提及词,则获取附件?- WordPress
- vba - 文本框单独超链接到具有匹配标题的幻灯片的问题
- jquery - 如何使用此 html 和 jquery 代码显示图像
- jsp - 使用 jdbc 驱动程序在 docker 容器中连接 tomcat 和 mysql
- webpack - babel-plugin-react-css-modules 不支持背景图片
- ios - 以编程方式返回到 Swift 中连续第三个之前的 ViewController
- php - 如何在使用 php 的分页中使用 where 条件?
- can-bus - 使用 CAPL 禁用 CANoe 中的节点
- google-chrome - Chrome 网络内部结构与之前或歌剧中的不同
- java - 为什么我们可以在 Restful 服务中使用 jsonObject 时需要 POJO