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,但是在之后的版本中 ...
随机推荐
- sql:String格式转换为时间进行比较
字符串的格式为 yyyy-MM-dd HH:mm:ss str_to_date(a.time, '%Y-%m-%d %k:%i') < str_to_date(b.time, '%Y-%m-%d ...
- javascript动画函数封装
function animate(obj, target) { clearInterval(obj.timer); obj.timer = setInterval(function () { var ...
- SQL学习——基础语句(1)
简序 1.SQL,指结构化查询语言,全称是 Structured Query Language. 2.SQL 让您可以访问和处理数据库. 3.SQL 是一种 ANSI(American Nationa ...
- Failed reading log event, reconnecting to retry
数据库版本:5.6.16 系统:CentOS 6.5 搭建数据库从库报错:160411 14:30:39 [Note] Slave I/O thread: Failed reading log eve ...
- 史上最低,低到尘埃,CDR邀你一起嗨购618
盼呀盼,望穿秋水~盼呀盼,何时降价~ 6.4开始,CDR X6全民狂欢618放价活动全面开启 力度之大,范围之广,时间之久,价格之低,都是前所未有的 不负众望,这个618,CDR真的做到一降到底,没有 ...
- Day 02 - 01 计算机的操作系统
操作系统 场景:有以下三个人 1.庄园主 -->相当于人类 2.管家 --> 把人类要传达的信息分配给奴隶,相当于操作系统 3.奴隶 -->为人类干活的机器 1.操作系统做了什么? ...
- Activiti Workflow HelloWorld 示例与测试环境搭建
作者:Rock 出处:http://www.ecmkit.com/zh-hans/2012/03/21/activiti-workflow-hell Activiti Workflow HelloWo ...
- js原生api之String的slice方法
我们在工作中可能会很少进行这样的思考,对于一些常用的原生api它是如何实现的呢,如果让我们去用js实现一个与原生api功能相同的函数我们该如何设计算法去实现呢? 为了巩固自己的编程技术和提高自己的编程 ...
- 基于element的表单渲染器 (el-form-renderer)
基于 element-ui 封装的表单渲染器,完整继承了 element 的属性定义,并进行了简单扩展,从而用户能够通过使用一段预设的数据渲染出一个完整的 element 表单. 演示地址 项目地址 ...
- mycql 基本mysql语句(增删改查)
操作文件夹(库) 增 (增加一个库 db1 ) create database db1 charset utf8; 查 # 查看当前创建的数据库 show create database db1; # ...