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,但是在之后的版本中 ...
随机推荐
- 悦享双节,Guitar Pro也来凑份热闹!
光阴似箭,又是一个金秋的十月,祖国迎来了第68个生日,不同以往的是今年的中秋佳节与国庆假日重叠在一起了,这算不算是喜上加喜呢? 提到国庆人们的耳边总是会响起了一遍又一遍的国歌“起来,起来不愿做奴隶的人 ...
- POJ 1743 [USACO5.1] Musical Theme (后缀数组+二分)
洛谷P2743传送门 题目大意:给你一个序列,求其中最长的一对相似等长子串 一对合法的相似子串被定义为: 1.任意一个子串长度都大于等于5 2.不能有重叠部分 3.其中一个子串可以在全部+/-某个值后 ...
- linux下安装Tomcat和java jdk
1:上传jdk的gz文件到linux’系统 2:解压缩这个文件 tar –zxvf 文件名.tar.gz –C 指定目录 比如我这里解压到 /root/apps/jdk tar –zxvf jd ...
- CVX安装使用
CVX下载 下载地址 使用手册 Using Gurobi with CVX Using MOSEK with CVX CVX安装 下载压缩文件后解压缩至任意地址,打开matlab,进入解压缩后的地址, ...
- PHP实现的毫秒定时器,同时解决进程不重复堆积
定时器任务,在WEB应用比较常见,如何使用PHP实现定时器任务,大致有两种方案:1)使用Crontab命令,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本:2)配合使用ignore_ ...
- ASP.NET-SOAP、UDDI知识点
1. 什么是SOAP? 答:是简单访问协议.是在分布式环境中,交换信息并实现远程调用的协议.是一个基于XML的协议.使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象 ...
- U盘无法格式化的恢复
昨天装Ubuntu的系统可能把U盘搞崩溃了.然后今早起来U盘无法识别,格式化也不行,用Windows的磁盘管理工具格式化说是:Windows无法格式化U盘. 曾经没遇到这样的情况,所以百度了一下,试了 ...
- 终结者:负载均衡之Nginx(一)
相信非常多人都听过Nginx.这个小巧的东西能够和Apache及IIS相媲美.那么它有什么作用呢?一句话.它是一个减轻Web应用server(如Tomcat)压力和实现Web应用ser ...
- HDU2188 悼念512汶川大地震遇难同胞——选拔志愿者
悼念512汶川大地震遇难同胞--选拔志愿者 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- System.getProperty()方法可以获取的值
/** 获得当前类的完整路径.最后一句 */ package org.outman.dms.server; import java.net.MalformedURLException; import ...