加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在我自己的xml架构中使用继承(即xs:extension)?

发布时间:2020-12-16 22:42:37 所属栏目:百科 来源:网络整理
导读:我正在尝试在Visual Studio中创建自己的xml架构.但我不能创建任何复杂类型,如Rectangle类型,也不能创建可继承类型,如Shape. schema.xsd如下,我得到的错误是: 名称空间”无法在此架构中引用. [第6行xs:扩展基数=“形状” 未定义的complexType’Shape’用作
我正在尝试在Visual Studio中创建自己的xml架构.但我不能创建任何复杂类型,如Rectangle类型,也不能创建可继承类型,如Shape. schema.xsd如下,我得到的错误是:

>名称空间”无法在此架构中引用. [第6行xs:扩展基数=“形状”>
>未定义的complexType’Shape’用作复杂类型扩展的基础[第6行]

内容:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema 
    attributeFormDefault="unqualified" 
    elementFormDefault="qualified" 
    xmlns:xs  ="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="MySchema">

<xs:complexType name="Rectangle">
 <xs:complexContent>
   <xs:extension base="Shape">
     <xs:sequence>
      <xs:element minOccurs="0" name ="X" type="xs:int"/>
      <xs:element minOccurs="0" name ="Y" type="xs:int"/>
      <xs:element minOccurs="0" name ="Width" type="xs:int"/>
      <xs:element minOccurs="0" name ="Height" type="xs:int"/>
    </xs:sequence>
   </xs:extension>
 </xs:complexContent>

</xs:complexType>
<xs:complexType name="Shape">
  <xs:sequence>
    <xs:element name="Complexity" type="xs:string"/>
  </xs:sequence>  
</xs:complexType>

解决方法

您需要将前缀绑定到目标命名空间:

xmlns:m="MySchema"

并在对模式中定义的组件的引用中使用它

base="m:Shape"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读