dtd

<!--
<!ELEMENT 元素(子元素,...)>
-->
<!ELEMENT students (student+,cat*) >
<!ELEMENT student (name,age,sex,birth,phone*,email?,student?) ><!-- 注意元素的顺序 -->
<!ELEMENT email EMPTY><!-- 元素里面不能包含内容 -->
<!ELEMENT phone (#PCDATA)>
<!ATTLIST sex value (男|女|保密) "男"><!-- 属性值可以使用枚举类型 -->
<!--
定义student元素的stuNo属性
ID类型: 保证唯一性(必须由数字和字母组成)
CDATA类型: 指定是字符串类型 #REQUIRED 属性值是必须
#IMPLIED 属性值是可选
-->
<!ATTLIST student stuNO ID #IMPLIED>
<!ATTLIST email value CDATA #IMPLIED>

xml

<?xml version="1.0" encoding="UTF-8" ?><!-- xml文件的声明 -->
<!DOCTYPE students SYSTEM "student.dtd"><!-- 引用外部的dtd校验文件 -->
<students>
<student stuNO="STU0001">
<name>关羽</name>
<age>20</age>
<sex>男</sex>
<birth>1988-10-29</birth>
<email value="guanyu@qq.com" />
<student stuNO="SUT11001">
<name>关羽</name>
<age>20</age>
<sex value="女">男</sex>
<birth>1988-10-29</birth>
<email value="guanyu@qq.com" />
</student>
</student> <student stuNO="STU0002">
<name>李四</name>
<age>20</age>
<sex>男</sex>
<birth>1988-10-29</birth>
<phone>123332</phone>
<email value="guanyu@qq.com" ></email>
</student> <student stuNO="STU0003">
<name>貂蝉</name>
<age>20</age>
<sex>女</sex>
<birth>1988-10-29</birth>
<phone>123332</phone>
<phone>123332</phone>
<!-- <email value="guanyu@qq.com" >fdfj</email> -->
</student> <cat>
<sex>母</sex>
<age>3</age>
<name>喵喵</name>
</cat>
<cat>
<sex>母</sex>
<age>3</age>
<name>喵喵</name>
</cat>
</students>

schema

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="abc" xmlns="abc" elementFormDefault="qualified">
<!-- XML Schema 缩写 当elementFormDefault="qualified" 时,所有全局元素的子元素将被以缺省方式放到目标命名空间,连同全局元素或者类型一起;
而当elementFormDefault="unqualified" 时,所有全局元素的子元素将被以缺省方式放到无名命名空间。而属性的命名空间类似地由attributeFormDefault="?"来指明。
需要明白的是,elementFormDefault="?" 是有作用域的,并且是被继承的,除非在子定义中覆盖父定义。 -->
<xsd:element name="note"> <xsd:complexType>
<xsd:sequence>
<xsd:element name="to">
<xsd:complexType mixed="true"><!-- 混合 -->
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element name="content" type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="two" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="from" type="xsd:string" />
<xsd:element name="heading" type="xsd:string" />
<xsd:element name="body" type="xsd:string" />
<xsd:element name="age" type="xsd:integer" />
<xsd:element name="birth" type="xsd:date" />
<xsd:element name="sex">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="男" />
<xsd:enumeration value="女" />
<xsd:enumeration value="人妖" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="weight" type="xsd:decimal" />
</xsd:sequence>
<xsd:attribute name="one" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

xml

<?xml version="1.0"  encoding="UTF-8" ?>
<note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="abc"
xsi:schemaLocation="abc note.xsd" one="属于note"> <to two="to的属性">
<content>fdsf</content>
<content>fdsf</content>
<content>fsdf</content>
</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
<age>20</age>
<birth>1988-10-23</birth>
<sex>人妖</sex>
<weight>75</weight>
</note>

XML文件基础,DTD校验文件编写,Schema文件的简单使用的更多相关文章

  1. 【HTML/XML 10】XML文档中的Schema文件

    导读:DTD是对XML文档进行有效性验证的方法之一,事实上,继DTD之后,出现了用来规范和描述XML文档的第二代标准:Schema.Schema是DTD的继承,但是也有其不同的地方,它是真正的以独立的 ...

  2. 关于XML的Schema文件讲解

    1 Schema概述 1.1 什么是Schema l  Schema是新的XML文档约束:DTD出现的比较早. l  Schema要比DTD强大很多: l  Schema本身也是XML文档,但Sche ...

  3. xml语法、DTD约束xml、Schema约束xml、DOM解析xml

    今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...

  4. gitbase cube.js schema 文件项目

    cube.js 进行数据分析,需要我们编写schema 文件,但是因为gitbase 的原因没发进行自动生成,而且还有些问题 所以做了一些简单的修改 注意直接使用cube-cli 0.9.0 可以自动 ...

  5. 根据给定文件编写Makefile文件 两种方法编译

    实例一 1.分析源文件代码依赖关系 mian.c #include "test1.h" #include "test2.h" #include <stdi ...

  6. MD5介绍及Windows下对文件做md5校验。

    MD5介绍参考百度百科: 摘要如下: MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性. 一个散列函数,比如 MD5,是一个将任意长度的数据字符串转化成短的固定长度 ...

  7. JAVA生成文件的md5校验值

    这里使用了lombok打印日志,也可以不用 import java.io.File; import java.io.FileInputStream; import java.io.IOExceptio ...

  8. 【HTML/XML 9】XML中的DTD文件

    导读:DTD是Document type definition(文档类型定义的缩写),是一套关于标记符的语法规则,它是XML文件的验证机制,数以XML文件的组成部分.XML文档是一种描述标记语言的语言 ...

  9. solr 6.0 没有schema.xml未自动创建schema文件

    solr 6.0 没有schema.xml未自动创建schema文件 摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中 ...

随机推荐

  1. Hibernate框架学习(八)——查询-HQL语法

    一.单表查询 1.基础语法 2.排序 3.条件 4.分页 5.聚合 6.投影 二.多表查询 1.回顾原生SQL 1>交叉连接-笛卡尔积(避免)select * from A,B; 2>内连 ...

  2. ddk安装失败后的处理

    7600.16385.1版本的DDK,在xp的本上死活按不上,怎么办呢?自己就把其他机器上安装的DDK目录,拷贝过来. 怎么建编译环境呢? 查看x86 Checked Build Environmen ...

  3. What is the difference between arguments and parameters?

    What is the difference between arguments and parameters? Parameters are defined by the names that ap ...

  4. PHP魔术方法__clone()篇

    PHP中定义了一个内置方法__clone()来调整兑现的克隆行为: 当一个对象被克隆的时候会自动执行__clone()方法,而复制的对象可以在其方法内进行调整 header('Content-type ...

  5. jquery获取自定义属性的值

    //获取属性值 1 <div id="text" value="黑哒哒的盟友"><div> jQuery取值: $("#tex ...

  6. Jetty初探

    一.在jetty中部署web应用 Jetty 和 Tomcat 一样都是一个web server的container, 用户可以在里面 deploy 自己的 war 包,然后启动 Jetty, 进而通 ...

  7. kvm三个kernel相关的调优

    今天在杭州参加淘宝嘉年华技术沙龙,主题是虚拟化和云计算,三个讲演: 淘宝网子团分享淘宝kvm技术的使用 华为的杨晓伟介绍虚拟化技术 阿里云郑永升介绍弹性云计算技术 其中KVM 调优,三点值得关注的: ...

  8. libvirtd.service

    [root@kvm-server ~]# systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Lo ...

  9. CMDB设计

    CMDB(资产管理数据库) CMDB是所有运维工具的数据基础 CMDB包含的内容 用户管理,记录测试,开发,运维人员的用户表 业务线管理,需要记录业务的详情 项目管理,指定此项目用属于哪条业务线,以及 ...

  10. python 添加自定义库

    首先,写一个库文件aaa.py 格式,在python安装目录下面创建一个空的文件夹命名Function 或者其他文件名, 然后将文件保存在python 安装目录下面的一个Function文件夹下面. ...