zoukankan      html  css  js  c++  java
  • [xsd学习]xsd介绍

      一直以来项目中对xml格式的判断使用的都是dtd格式,直到最近才发现,不知何时都已经转为xsd来进行判断和校验,于是今天专门找资料看下,不得不说,对于这类资料的入门,w3cschool真是个不错的资料库,许多东西在上边直接可以找到资料。

      xsd作为dtd的替代者,主要是因为如下原因:

      • XML Schema 可针对未来的需求进行扩展
      • XML Schema 更完善,功能更强大
      • XML Schema 基于 XML 编写
      • XML Schema 支持数据类型
      • XML Schema 支持命名空间

      不得不说,在这里的概念在我们了解具体情况之前都是没作用的,只能随着之后的进一步了解来进行体验。

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified">
    
    <xs:element name="note">
      <!--表示根节点为note-->
    <xs:complexType> <xs:sequence>   <xs:element name="to" type="xs:string"/>   <xs:element name="from" type="xs:string"/>   <xs:element name="heading" type="xs:string"/>   <xs:element name="body" type="xs:string"/>
        <!--表示note节点中有四个元素,格式全为字符串-->
    </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

    以上为最简单的xsd格式,主要用于定义主节点和节点内的子节点,对应的xml文件为:

    <?xml version="1.0"?>
    <note
    xmlns="http://www.w3school.com.cn"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3school.com.cn note.xsd">
    
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
    </note>
    View Code

    而对应的此xml文件的dtd校验文件格式为:

    <!ELEMENT note (to, from, heading, body)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT heading (#PCDATA)>
    <!ELEMENT body (#PCDATA)>

    从以上文件看出,xsd格式书写更为复杂,层次更多,但是支持更多的数据类型,可以直接指定为字符串。

  • 相关阅读:
    YAML语法
    Python tab补全
    Ubuntu开启root用户登录
    Windows部署JDK和Tomcat
    驾校宝典之科目一整理
    VMware之Red Hat安装配置部署
    H3C之VRRP实验部署
    Windows Server实验指导
    基础网络配置与管理综合实验报告
    H3C-VLan配置
  • 原文地址:https://www.cnblogs.com/jyyzzjl/p/4477928.html
Copyright © 2011-2022 走看看