[xsd学习]复合元素

对于xsd,复合元素的定义有两种方式:

一、在元素内部直接声明,此种方法只能此元素使用

<xs:element name="employee">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

二、以单独类型进行声明,此种方法,类型可以在多个元素共享

<xs:element name="employee" type="personinfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

xsd有四种类型的复合元素,下边我们学习每种元素的定义

一、空元素

<product pid="1345"/>

上述元素,没有包含子内容,仅包含一个属性,声明方式为:

<xs:element name="product">
  <xs:complexType>
    <xs:attribute name="pid" type="xs:positiveInteger"/>
  </xs:complexType>
</xs:element>

二、包含其他元素的元素

<employee>
  <firstname>John</firstname>
  <lastname>Smith</lastname>
</employee>

上边内容仅包含两个子元素,没有属性,声明方式为:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

三、仅包含文本的元素(这个其实不是特别明白)

<food type="dessert">Ice cream</food>

此元素为单独空白文本,应该为简单类型,需要使用simpleContent进行声明,但不是特别明白为何作为复合类型使用,不知道是不是因为有属性的原因,声明方式为:

<xs:element name="food">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="dessert" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

四、包含元素和文本的元素

<description>
It happened on <date lang="norwegian">03.03.99</date> ....
</description>

为了使字符数据可以出现在 "description" 的子元素之间,mixed 属性必须被设置为 "true",<xs:sequence>中的属性需要依次出现

<xs:element name="description">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="norwegian" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

注意:以上每种元素都可以包含属性

时间: 2024-10-13 00:23:51

[xsd学习]复合元素的相关文章

[xsd学习]xsd基本要素

一.xsd常用数据格式 xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 二.简易元素 <xs:element name="xxx" type="yyy" default="aaa" fixed="bbb" /> 其中: xxx表示元素名称, yyy表示数据格式, aaa表示元素默认值,如果没有值,则元素值为aaa, bbb表示元素为固定值bbb,

Selenium webdriver 学习总结-元素定位

Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一种办法. 1.工具选择:在我们开发测试脚本的过程中各个浏览器给我们也提供了方便定位元素的工具,我比较喜欢使用firefox的firebug工具,也是目前很多开发测试人员比较热衷的选择,原因是firefox是唯一能够集成selenium IDE

jQuery学习之------元素样式的操作

jQuery学习之------元素样式的操作 一..addClass( className )方法----增加样式 1.addClass( className ) : 为每个匹配元素所要增加的一个或多个样式名 <head> <style> /*css样式代码*/ .soulsjie{ background:red; } .newstyle{ height:100px; width:100px; } .newsty2{ font-size:16px; } </style>

[xsd学习]xsd元素限定

限定(restriction)用于为 XML 元素或者属性定义可接受的值 一.xsd中主要限定格式如下: <xs:element name="xxx"><!--元素名称--> <xs:simpleType> <xs:restriction base="yyy"><!--元素类型--> <!---此处填写限定内容--> </xs:restriction> </xs:simpleT

[xsd学习]xsd介绍

一直以来项目中对xml格式的判断使用的都是dtd格式,直到最近才发现,不知何时都已经转为xsd来进行判断和校验,于是今天专门找资料看下,不得不说,对于这类资料的入门,w3cschool真是个不错的资料库,许多东西在上边直接可以找到资料. xsd作为dtd的替代者,主要是因为如下原因: XML Schema 可针对未来的需求进行扩展 XML Schema 更完善,功能更强大 XML Schema 基于 XML 编写 XML Schema 支持数据类型 XML Schema 支持命名空间 不得不说,

7.24复合元素

background 复合属性 background-color 背景颜色 background-image:url() 链接的背景图片 background-repeat: 图片是否平铺 no-repeat  repeat-x  repeat-y background-position: 背景图片的位置 加坐标 X轴 Y轴 background-attachment: 是否滚动 background: 颜色  图片的链接  是否平铺  背景位置 是否滚动 中间空格隔开 font 复合属性 fo

js学习进阶-元素获取及样式设置

var imgs = document.querySelectorAll("article img"); 获得article元素的直接或间接子孙的所有img元素, <article> <img src = "..." /> <div> <img src = "..." /> </div> </article> 获取2个img元素. 另一个方法querySelector()只返

二、vue学习--父元素如何获取子元素的值,子元素如何获取父元素的值

下图是父元素: 下图是子元素,获取父元素的值,使用props定义属性,这样就可以获取到父元素上传过来的set .place.type,拿到值就可以做一些自己的逻辑处理 二.子元素给父元素传值? 下图为子元素将值传递出去的方式,使用emit将值公布给父元素,见下图: 父元素需要接受子元素给的值,在父元素中相应的要有propMethods属性,这个属性可以使用v-on的方式绑定,也可以使用@propMethods的方式,见下图: 上图中的login是处理事件,这里点击按钮时需要子元素来触发事件,所以

深入学习jQuery元素尺寸和位置操作

× 目录 [1]尺寸设置 [2]位置设置 前面的话 对于javascript来说,元素尺寸有scroll.offset.client三大属性,以及一个强大的getBoundingClientRect()方法.而jQuery有着对应的更为简便的方法.本文将详细介绍jQuery中的元素尺寸和位置操作 尺寸设置 在CSS中,宽高有三种表示,分别是content-box.padding-box和border-box里的三种宽高.可以分别对应于jQuery中height()/width().innerHe