一、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. PHP微信支付开发实例

    这篇文章主要为大家详细介绍了PHP微信支付开发过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PHP微信支付开发过程,分享给大家,供大家参考,具体内容如下 1.开发环境 Thinkphp 3. ...

  2. How to tile small texture image onto page as its background

    You don’t need to set a big size image as the background of pages if the image is texture or uniform ...

  3. div里包含img底部必定多出空白的解决办法

    研究了很久,自己写了js代码都解决不了.最后还是靠万能的网友解决了这一问题! 问题:adding.margin.border都设为0,无效.怎么样都多出3px. 解决方案: 1.设置div{ font ...

  4. Python中sorted()方法

    Python中sorted()方法的用法 1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对iterable的解释是:iteralbe指的是能够一次返回它的一个成员的对象.i ...

  5. phpcms--模型管理,推荐位管理,类别管理

    phpcms的默认设置不一定能满足需求,这个时候必须启用[模型管理],[推荐位管理],[类别管理]三个高级功能 为什么需要使用这些功能呢,因为后台添加内容的时候需要不同的模型 而模型通过什么来展现呢, ...

  6. openstack 常用命令

    转自: docs.openstack.org $ nova boot --image ubuntu-cloudimage --flavor 1 --user-data mydata.file

  7. Struts2学习笔记《一》

    (一)struts2中JSP页面数据与Action对应的三种方式 1.属性驱动,及页面中带有name属性的值传递过来action中,struts2会将值直接映射到getter.setter接收器中 此 ...

  8. Increasing Triplet Subsequence

    Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the ar ...

  9. iptables之链之间的跳转

    创建一个新的链     按照管理,用户自定义的链用小写来区分它们 iptables -N newchain 可以在这个链的尾部跳转到INPUT链 iptables -A newchain -j INP ...

  10. Zookeeper服务常用的操作命令

    Zookeeper服务安装之后,一般会在这个服务的基础之上安装其他的大数据平台,其他的框架一般会提供很多接口对Zookeeper中的内容进行一定的操作,但是功能相对单一,所以有些时候,有必要我们自己登 ...