可重用元素的使用与命名空间

xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:

 

例如:以下xsd文件,就出现了该错误,即便是在一个xsd中,也必须从定义的名字空间中找重用组建:

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="AAA" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

 

   <xs:element name="Student" type="stu"/>

 

   <xs:complexType name="stu">

       <xs:sequence>

          <xs:element name="Name" type="xs:string"/>

          <xs:element name="Class" type="xs:string"/>

       </xs:sequence>

   </xs:complexType>

 

</xs:schema>

 

以上代码中,复杂类型stu是找不到的,因为你定义了一个名字空间AAA,该复杂类型存在于AAA中,因此应该修改代码如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="AAA" xmlns:student="AAA" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

   <xs:element name="Student" type="student:stu"/>

   <xs:complexType name="stu">

       <xs:sequence>

          <xs:element name="Name" type="xs:string"/>

          <xs:element name="Class" type="xs:string"/>

       </xs:sequence>

   </xs:complexType>

</xs:schema>

 

若自身并不是用重用组建,仅供外部使用的话,则只定义targetNameSpace就可以,不用指定别名。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值