XML文件基础,DTD校验文件编写,Schema文件的简单使用
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文件的简单使用的更多相关文章
- 【HTML/XML 10】XML文档中的Schema文件
导读:DTD是对XML文档进行有效性验证的方法之一,事实上,继DTD之后,出现了用来规范和描述XML文档的第二代标准:Schema.Schema是DTD的继承,但是也有其不同的地方,它是真正的以独立的 ...
- 关于XML的Schema文件讲解
1 Schema概述 1.1 什么是Schema l Schema是新的XML文档约束:DTD出现的比较早. l Schema要比DTD强大很多: l Schema本身也是XML文档,但Sche ...
- 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 ...
- gitbase cube.js schema 文件项目
cube.js 进行数据分析,需要我们编写schema 文件,但是因为gitbase 的原因没发进行自动生成,而且还有些问题 所以做了一些简单的修改 注意直接使用cube-cli 0.9.0 可以自动 ...
- 根据给定文件编写Makefile文件 两种方法编译
实例一 1.分析源文件代码依赖关系 mian.c #include "test1.h" #include "test2.h" #include <stdi ...
- MD5介绍及Windows下对文件做md5校验。
MD5介绍参考百度百科: 摘要如下: MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性. 一个散列函数,比如 MD5,是一个将任意长度的数据字符串转化成短的固定长度 ...
- JAVA生成文件的md5校验值
这里使用了lombok打印日志,也可以不用 import java.io.File; import java.io.FileInputStream; import java.io.IOExceptio ...
- 【HTML/XML 9】XML中的DTD文件
导读:DTD是Document type definition(文档类型定义的缩写),是一套关于标记符的语法规则,它是XML文件的验证机制,数以XML文件的组成部分.XML文档是一种描述标记语言的语言 ...
- solr 6.0 没有schema.xml未自动创建schema文件
solr 6.0 没有schema.xml未自动创建schema文件 摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中 ...
随机推荐
- Hibernate框架学习(八)——查询-HQL语法
一.单表查询 1.基础语法 2.排序 3.条件 4.分页 5.聚合 6.投影 二.多表查询 1.回顾原生SQL 1>交叉连接-笛卡尔积(避免)select * from A,B; 2>内连 ...
- ddk安装失败后的处理
7600.16385.1版本的DDK,在xp的本上死活按不上,怎么办呢?自己就把其他机器上安装的DDK目录,拷贝过来. 怎么建编译环境呢? 查看x86 Checked Build Environmen ...
- What is the difference between arguments and parameters?
What is the difference between arguments and parameters? Parameters are defined by the names that ap ...
- PHP魔术方法__clone()篇
PHP中定义了一个内置方法__clone()来调整兑现的克隆行为: 当一个对象被克隆的时候会自动执行__clone()方法,而复制的对象可以在其方法内进行调整 header('Content-type ...
- jquery获取自定义属性的值
//获取属性值 1 <div id="text" value="黑哒哒的盟友"><div> jQuery取值: $("#tex ...
- Jetty初探
一.在jetty中部署web应用 Jetty 和 Tomcat 一样都是一个web server的container, 用户可以在里面 deploy 自己的 war 包,然后启动 Jetty, 进而通 ...
- kvm三个kernel相关的调优
今天在杭州参加淘宝嘉年华技术沙龙,主题是虚拟化和云计算,三个讲演: 淘宝网子团分享淘宝kvm技术的使用 华为的杨晓伟介绍虚拟化技术 阿里云郑永升介绍弹性云计算技术 其中KVM 调优,三点值得关注的: ...
- libvirtd.service
[root@kvm-server ~]# systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Lo ...
- CMDB设计
CMDB(资产管理数据库) CMDB是所有运维工具的数据基础 CMDB包含的内容 用户管理,记录测试,开发,运维人员的用户表 业务线管理,需要记录业务的详情 项目管理,指定此项目用属于哪条业务线,以及 ...
- python 添加自定义库
首先,写一个库文件aaa.py 格式,在python安装目录下面创建一个空的文件夹命名Function 或者其他文件名, 然后将文件保存在python 安装目录下面的一个Function文件夹下面. ...