一、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. centos 设置永久dns

    最近在折腾一个问题. 由于服务器的带宽是联通5M, 不稳定.而且所处的网络的dns解析貌似老出问题,每隔一定周期解析时间特别长. 于是乎,想在本地做一个dns,这样可以减少dns解析时间,并做些静态配 ...

  2. centos 6.5 u盘 安装问题 :vesamenu.c32: Not a COM32R image

    大致可以参考这里:http://www.computerandyou.net/2012/03/how-to-solve-vesamenu-c32-not-a-com32r-image-error-in ...

  3. HTML页面的布局

    1.纵向切分页面:CSS POSITION的默认值为:STATIC 1) <html> <head> <title>Hello</title> < ...

  4. Shell 读取文本内容

    在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法.为了给大家一个直观的感受,我们将通过生成一个大的文件的方式来检验各种方法的执行效率. ...

  5. 使用jsvc启动tomcat

    1.在/usr/local/apache-tomcat-7.0.68/bin中有commons-daemon-native.tar.gz  压缩包 2.解压commons-daemon-native. ...

  6. swfit中的同步锁

    swfit 中 objective-c 中的@syncronized 这个东西不能用了,应该用 objc_sync_enter(self) 代码 objc_sync_exit(self) 代替!

  7. rsa加密解密

    2016年3月17日 17:21:08 星期四 现在越来越懒了.... 参考: http://www.xuebuyuan.com/1399981.html 左边是加密流程, 右边是解密流程 呃...有 ...

  8. 1.JS设计模式-this,call&apply

    1. this,call&apply 1.1 this this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用. 1.1.1 普通函数调 ...

  9. Provider:SSL提供程序,error:0 - 接收到的消息异常,或格式不正确

    引自 :http://www.cnblogs.com/liuguozhu2015/p/3413496.html 非常感谢这位同学 我用笔记本的sql客户端去连服务器,正常连接. 在页面中连接时,直接导 ...

  10. window.location.href url含中文服务器收到乱码问题解决

    中文乱码问题 window.location.href url含中文服务器收到乱码问题解决 (1).页面中先对中文进行编码. 如:window.location.href = url+"&a ...