一、XML。

(1)XML:Extensible Markup Language

(2)XML是一种标记语言。

(3)XML的设计宗旨是传输数据,而不是显示数据。

(4)XML标签没有被预定义,即使用约束的XML文档设计具有自我描述性。

(5)XML是W3C的推荐标准。

(6)XML作用:存储、配置。

(7)约束:XML的内在要求。

(8)组成:文档声明、原属、属性、注释、CDATA区、特殊字符、处理指令。

文档声明举例:<?xml version="1.0" encoding="utf-8" standalone="yes"?>

二、编码与乱码。

1.编码分类。

(1)utf-8:万国码

(2)gb2312:国标码(简体)

(3)gbk:国标码(简体、繁体)

(4)gb8859-1:国标码(简体、繁体、少数民族)

(5)BIG5:大五码(繁体)

(6)iso-8859-1:西文编码

2.编码规则

(1)所有的编码都可以生成相应的字节码

(2)相同文字采用不同编码内容相同

(3)所有的编码都可以进行转换

3.乱码:文件内容编码和文件编码不同。

如:文件内容编码是utf-8,但是文件编码是gbk

解决方式:将两者统一起来即可。

三、空格与回车

  XML文件中出现的所有空格和回车,XML解析程序都会当做标签内容来处理,所以在编写XML文件时,使用换行和缩进等方式让源文件中的内容清晰可读的良好习惯可能要被迫改变。如<a>www.baidu.com</a>与

<a>

www.baidu.com

</a>

是不同的,前者的子元素只有一个,后者的子元素有三个。

空格必须使用英文空格,不允许使用中文空格。

四、其它规则

1、包含内容的标签必须成对出现,如<book>微机原理与接口技术</book>,不包含标签体的标签格式:<book></book>或者<book/>

2、XML标签区分大小写,不能以数字或者下划线开头,不能包含空格,名称中间不能有冒号

3.每个元素可以有多个属性,每个属性都可以有自己的值。<价格 单价=“人民币”>26</价格>

4、表达一个事情可以使用多种方式,可以使用均为标签的形式:<价格><单价>人民币<单价><数值>26</数值></价格>或者标签和属性搭配的方式:<价格 单价=“人民币”>26</单价>,属性值必须使用单引号或者双引号括起来。

5、XML注释使用<!---->

6、CDATA区:不需要使用转义字符就可以将符号显示出来。

用法:<![CDATA[内容]]>,作为标签内容使用。

五、处理指令(PI:Processing Instruction)。

1.处理指令必须以<?开头,以?>结尾,XML声明语句就是最常见的处理指令。

2.处理指令用来指挥解析引擎如何解析XML文档内容。

举例:在XML文档中可以使用xml-stylesheet指令,通知xml解析引擎,应用css文件显示xml文档内容。

<?xml-stylesheet type="text/css" href="1.css"?>

注:xml引入了样式表,则浏览器就会对xml文件进行和html相同动作的解析。


一、dtd。

1、dtd约束:使用XML知识,描述个人信息。

2、必要性:每个人都有自己的表达方式,这样需要多种程序与之相对应,这样就乱套了。

3、约束:书写一个文档对当前的XML文档进行约束。

4、dtd与xml文档进行关联的方式:dtd约束可以作为一个单独的文件来编写,也可以在xml文件中编写。

xml文档使用DOCTYPE声明语句来声明它所遵循的dtd文件。

关联方式:

  (1)内部dtd方式:在xml文件内部书写dtd规范。

    格式:<!DOCTYPE 根元素 [具体规范内容]>,其中书架是根元素,注意两个空格的使用。

  (2)外部dtd方式:使用单独的dtd文件规范xml内容。

    格式:<!DOCTYPE 根元素 SYSTEM "DTD文件url">,其中书架是根元素,注意几个空格的使用。

  (3)公共dtd方式:使用互联网上的dtd文件。

    格式:<!DOCTYPE 根节点 PUBLIC "dtd文件名称" "dtd公共文件的url">

5、dtd语法细节

(1)元素定义:ELEMENT

(2)属性定义:ATTLIST

(3)实体定义:ENTITY

二、元素定义:ETD

三、属性定义。

格式:

<!ATTLIST 元素名称

  属性名  属性类型  约束

  属性名  属性类型  约束

>

四、实体定义。

1、实体的本质:变量,用于引用普通文本或者特殊字符的快捷方式的变量。

2、分类。

  (1)内部实体。

    【1】引用实体

      语法格式:<!ENTITY 实体名称 “实体内容”>

      使用方式:在xml文档中,直接使用“&实体名称”的方式

      举例:<!ENTITY name "kdyzm">,在xml文档中只需要使用&name就可以相当于直接拿到了"kdyzm"字符串

    【2】参数实体

      语法格式:<!ENTITY %实体名称 "实体内容">

      使用方式:在dtd文档中,使用%实体名称整体引用“试题内容”

      举例:<!ELEMENT %base "title,year,price">,在dtd文档中:<!ELEMENT BOOK %base>

   (2)外部实体

      语法格式:<!ENTITY 实体名称 SYSTEM "URL">

      使用方式:直接使用&实体名称引用。

      举例:<!ENTITY INFO SYSTEM "PART.XML">,在xml文件中,则直接使用&info引用PART.XML文件中的字符串。

 五、dtd文件实例。

1、电视节目表dtd

<!DOCTYPE TVSCHEDULE [

<!ELEMENT TVSCHEDULE (CHANNEL+)>
<!ELEMENT CHANNEL (BANNER,DAY+)>
<!ELEMENT BANNER (#PCDATA)>
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
<!ELEMENT HOLIDAY (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)> <!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>
<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
<!ATTLIST TITLE RATING CDATA #IMPLIED>
<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED> ]>

2、报纸文章dtd

<!DOCTYPE NEWSPAPER [ 

<!ELEMENT NEWSPAPER (ARTICLE+)>
<!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)>
<!ELEMENT HEADLINE (#PCDATA)>
<!ELEMENT BYLINE (#PCDATA)>
<!ELEMENT LEAD (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
<!ELEMENT NOTES (#PCDATA)> <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
<!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
<!ATTLIST ARTICLE DATE CDATA #IMPLIED>
<!ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER "Vervet Logic Times">
<!ENTITY PUBLISHER "Vervet Logic Press">
<!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press"> ]>

3、产品目录dtd

<!DOCTYPE CATALOG [

<!ENTITY AUTHOR "John Doe">
<!ENTITY COMPANY "JD Power Tools, Inc.">
<!ENTITY EMAIL "jd@jd-tools.com"> <!ELEMENT CATALOG (PRODUCT+)> <!ELEMENT PRODUCT
(SPECIFICATIONS+,OPTIONS?,PRICE+,NOTES?)>
<!ATTLIST PRODUCT
NAME CDATA #IMPLIED
CATEGORY (HandTool|Table|Shop-Professional) "HandTool"
PARTNUM CDATA #IMPLIED
PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago"
INVENTORY (InStock|Backordered|Discontinued) "InStock"> <!ELEMENT SPECIFICATIONS (#PCDATA)>
<!ATTLIST SPECIFICATIONS
WEIGHT CDATA #IMPLIED
POWER CDATA #IMPLIED> <!ELEMENT OPTIONS (#PCDATA)>
<!ATTLIST OPTIONS
FINISH (Metal|Polished|Matte) "Matte"
ADAPTER (Included|Optional|NotApplicable) "Included"
CASE (HardShell|Soft|NotApplicable) "HardShell"> <!ELEMENT PRICE (#PCDATA)>
<!ATTLIST PRICE
MSRP CDATA #IMPLIED
WHOLESALE CDATA #IMPLIED
STREET CDATA #IMPLIED
SHIPPING CDATA #IMPLIED> <!ELEMENT NOTES (#PCDATA)> ]>

 六、使用JavaScript校验XML文件

 <html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<script language="javascript">
//从语法上分析:parse
//1.创建xml文档解析器对象 var xmldoc =new ActiveXObject("Microsoft.XMLDOM");
//2.开启xml校验
xmldoc.validateOnParse="true";
//3.装载xml文档
xmldoc.load("Person.xml"); //4.获取错误信息
var result=xmldoc.parseError.reason;
if(result!="")
{
document.write("错误代码:"+xmldoc.parseError.errorCode+"<br/>");
document.write("错误信息:"+xmldoc.parseError.reason+"<br/>");
document.write("错误行数:"+xmldoc.parseError.line+"<br/>");
}
else
{
document.write("无错误信息!");
}
</script>
</html>

一、Schema简介

【JAVA与XML、dtd约束、Schema约束】的更多相关文章

  1. XML DTD跟SCHEMA约束 语法了解

    dtd语法 元素: <!Element 元素名称 数据类型|包含内容> 数据类型: #PCDATA:普通文本 使用的时候一般用()引起来 包含内容: 该元素下可以出现哪些元素, 用()引起 ...

  2. xml初步,DTD和Schema约束

    XML 可扩展的标记语言(!!!可扩展) 作用 1.存放数据 2.配置文件 语法 文档声明 <?xml version="1.0" encoding="UTF-8& ...

  3. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  4. XML约束——Schema约束

    XML Schema 也是一种用于定义和描述 XML 文档结构与内容的模式语言,其出现是为了克服 DTD 的局限性 XML Schema VS DTD: •XML Schema符合XML语法结构. • ...

  5. DTD与Schema约束

    1.DTD:(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法 规则.它是标准通用标记语言.2.XML Schema 是基于XML的DTD替代者 ...

  6. 在myeclipse等IDE中添加本地的dtd与schema约束文件

      *针对没有网络无法正确引入dtd而使用不了提示的问题 (配置完后重启IDE)   window->perferences- > 搜索xml c 找到xml catalog 右边点击 a ...

  7. 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 ...

  8. XML的Schema约束

    XSD文档至少要包含:schema根元素和XML模式命名空间的定义.元素定义.需要注意的是XSD中必须定义一个且只能定义一个schema根元素,根元素中包括模式的约束,XML模式命名空间的定义,其他命 ...

  9. Schema约束, dom4j解析

    Schema是新的XML文档约束:Schema要比DTD强大很多,是DTD替代者;Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml .Schema功能更强大,数据类型更 ...

  10. schema约束和引入

    schema的概述 schema约束同为xml文件的约束模式语言之一, 最大的作用是为了验证xml文件的规范性的. 是为了解决dtd约束不够的问题, 相应的他的配置就变得比较复杂 schema本身就是 ...

随机推荐

  1. Android 数据存储之 文件存储

    -------------------------------------------文件存储----------------------------------------------- 文件存储是 ...

  2. Android四种基本布局(LinearLayout \ RelativeLayout \ FrameLayout \ TableLayout)

    ------------------------------------------LinearLayout---------------------------------------------- ...

  3. Kali Linux渗透基础知识整理(一):信息搜集

    写在前面的废话:最近要给一些新人做培训,整理些东西,算不上什么太高端的内容,只是简单的整理下了,我觉得对于小白的话也还算是干货.在乌云水了几年,算不上什么大神水平,最近生活费紧张,现在打算在FreeB ...

  4. zabbix之MySQL数据库的安装

    转载自:http://www.ttlsa.com/mysql/install-mysql5_6/ 启动MySQL并制定套接字 mysql -u user -ppassword -S 指定socket路 ...

  5. Python自动化装饰器问题解疑

    问题一 到底是怎么执行的? import time def timer(timeout=0): def decorator(func): def wrapper(*args, **kwargs): # ...

  6. 5.6---交换整数的奇数位和偶数位(CC150)

    这道题要利用101010来&. 如下答案: public class Exchange { public int exchangeOddEven(int x) { // write code ...

  7. spring ext 跨域

    read方法中调用的response对象是父类BaseController的一个成员变量. spring默认bean的生命周期Score为singleton单例模式. 当多线程并发使用同一bean, ...

  8. Ubuntu16.04/centos7 下为chrome/firefox安装flash player插件

    为chrome安装flash: 打开终端,输入:sudo apt-get install pepperflashplugin-nonfree 或官网下载安装google-chrome-stable 为 ...

  9. 利用php的register_shutdown_function来记录php的输出日志

    最近在做的一个项目..由于全是通过远程http请求来调用php的接口程序.. 接收到的参数和返回的内容对开发人员来说都是未知不可见的.. 虽然可以通过直接在脚本中模拟请求..但由于实际环境复杂的多.. ...

  10. Response.Redirect()、Server.Execute和Server.Transfer的区别

    1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中 ...