xsd概述

xsd概述

XML Schemas Definition, XML模式定义。本质仍是xml文档。
它定义了XML文档的结构,可以用一个指定的xsd来验证某个XML文档是否符合其要求。

XML Schema本身有很多数据种类。最常见的种类有:    * xs:string    xs:字符    * xs:decimal  xs: 小数    * xs:integer   xs:整数    * xs:boolean  xs:逻辑值    * xs:date     xs:日期    * xs:time     xs:时间 

Xml Schema的根元素

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  表示数据类型等定义来自w3
targetNamespace="http://www.w3schools.com"       表示文档中要定义的元素来自什么命名空间
xmlns="http://www.w3schools.com"                 表示此文档的默认命名空间是什么
elementFormDefault="qualified">                 表示要求xml文档的每一个元素都要有命名空间指定
…………………………
……定义主体部分……
…………………………
</xs:schema>

如何定义一个简单元素

<xs:element 此处表示要定义一个元素
name=”color” 表示要定义元素的名称
type=”xs:string” 表示要定义元素的数据类型
default=”red” 表示定义元素的默认值
fixed=”red”/> 表示要定义元素的固定值,此元素只可以取“red”值

枚举限制

<xs:element name="car" type="carType"/>
<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="KIA"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

定义复杂类型

<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>

使用指示器
ALL--指示子元素可以以任何顺序出现,并且每一个元素都必须出现一次

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

Choice——指示子元素中可以出现一个或者另一个

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

Sequence——指示子元素必须按照顺序出现

<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>

minOccurs,maxOccurs ——出现次数指示器

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string"
      maxOccurs="10" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
时间: 2024-10-27 18:14:22

xsd概述的相关文章

Grails 与 Maven 集成概述

概述 Grails 简介:Grails 是一个开源的 Web 开发框架,它采用动态语言 Groovy 进行开发,并且可以和用 Java 开发的项目进行集成.Grails 充分体现了约定优于配置的原则,将项目的配置减到最低.目前主流的 Java Web 框架都过于复杂,如 Structs.Spring.Webwork,这些框架的用户都需要编写和维护许多配置文件,并且用这些框架的项目写法各有不同,没有统一的标准.Grails 的出现解决了这些问题,用户可以发现在 Grails 中很少去修改和添加配置

Spring配置概述

原文:Spring配置概述 1.Spring容器 1)要使应用程序中的Spring容器成功启动,需要以下三方面的条件都具备: · Spring架构的类包都已经放在应用程序的类路径下: · 应用程序为Spring提供完备的Bean配置信息: · Bean的类都已经放到应用程序的类路径下. 2)Bean配置信息是Bean的元数据信息,它由以下4个方面组成: · Bean的实现类: · Bean的属性信息,如数据源的连接数.用户名.密码等: · Bean的依赖关系,Spring根据依赖关系配置完成Be

《Power Designer系统分析与建模实战》——1.2 Power Designer概述

1.2 Power Designer概述 Power Designer独具匠心地将多种标准数据建模技术集成一体,并与.NET.WorkSpace.Power Builder.Java.Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案.此外,它支持60多种关系数据库管理系统(RDBMS)版本. Power Designer是一款在软件建模领域市场占有率很高,使用效果良好的建模软件.它运行在Microsoft Windows平台上,并提供Ec

第1章 开发环境安装和配置(一):概述

原文 第1章 开发环境安装和配置(一):概述 目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上[网上找的介绍,不必在意]. 用C#开发手机应用程序,建议首选VS2015,这是因为VS2015内置的是C# 6.0,很多原来实现起来比较繁琐的操作,在VS2015下也都变得非常简单了. 1.跨平台移动应用开发 VS2015的移动跨平台采用Xamarin架构,这让原本就熟悉Visual Studio的开发者不用再熟悉其他的开发工具就能直接开发

黑马程序员 一、java 概述与基础知识

获取更多资源关注Java帮帮IT资源分享网 一.黑马程序员-java 概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法.和手段通 过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完 成某种特定的任务.这种人和计算机之间交流的过程就是编程.   2.Java 语言概述,历史.特点 是 SUN(Stanford Universit

Java基础-01总结概述,dos,功能键,path

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:计算机概述(了解) (1)计算机(2)计算机硬件(3)计算机软件系统软件:window,linux,mac应用软件:qq,yy,飞秋(4)软件开发(理解)软件:是由数据和指令组成的.(计算器)开发:就是把软件做

ETL概述(原创)

ETL概述ETL,Extraction- Transformation-Loading的缩写,即数据抽取(Extract).转换(Transform).装载(Load)的过程,它是构建数 据仓库的重要环节.ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为 企业的决策提供分析依据.ETL是BI项目重要的一个环节.通过ETL,我们可以基于源系统中的数据来生成数据仓库.ETL为我们搭建了OLTP系统和 OLAP系统之间的桥梁

gecko框架概述

1 gecko概述 最近在研究metaq消息队列,它里面用到的NIO通信框架是gecko,文档是这么描述的 Gecko是一个Java NIO的通讯组件,它在一个轻量级的NIO框架的基础上提供了更高层次的封装和功能. 支持的RPC调用方式包括RR(request-response)和pipeline. 0 可插拔的协议设计 1 连接池 2 分组管理和负载均衡 3 Failover/Retry 4 重连管理 5 同步和异步调用 本文就按照日常NIO通信框架和RPC所面临的问题来看下gecko是怎么解

Java编程那些事儿101——网络编程概述

第十三章 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果入门网络编程的话也可以做到这么简单! 网络编程就是在两个或两个以上的设备(例如计算机)之间传输