码迷,mamicode.com
首页 > 其他好文 > 详细

XML(二)

时间:2014-08-19 14:26:34      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   java   使用   io   文件   

 前面简单介绍了如何定义一个XML.想想如果没有一个规范来对XML文档进行一个格式等的限制,那么一个XML文档可能只能被定义这个XML文档的人读懂.DTD就是一种对XML文档约束的模式语言.

 DTD介绍:

  DTD,Document Type Definition.是文本格式文件,后缀名会.dtd.一个DTD文件中可以包含元素与元素之间的关系的定义,元素的属性定义,以及实体和符号的定义.通过比较DTD文件与XML文档,就可以判断XML文档是否符合某种约束规范,以及其中的元素和标签使用是否正确.

 DTD的定义:

  .dtd文件是一个非常简单的文件,<!ELEMENT 元素名称 使用规则>为其通用的语法规则.它定义每一个元素.例如:<!ELEMENT 书架(书名,作者,售价)>中"书架"为元素名称,"(书名,作者,售价)"为使用规则.使用规则定义了元素中包含的组成成分,以及每种组成成分出现的次数,次序.例如下面这个DTD文件:

1 <!ELEMENT 书架 (书+)>
2 <!ELEMENT 书(书名,作者,售价)>
3 <!ELEMENT 书名(#PCDATA)>
4 <!ELEMENT 售价(#PCDATA)>
5 <!ELEMENT 作者(#PCDATA)>

 

  #PCDATA表示元素中嵌套的内容为纯文本字符串,(书名,作者,售价)用户表示元素要嵌套的子元素,并且这些子元素要按顺序依次出现.(书+)中+表示他修饰的成分必须出现一次或者多次.

 外部引入DTD文件:

  DOCTYPE的声明语句要紧跟在XML文档声明语句之后.有两种格式:

  1.<!DOCTYPE 文档类型名称 SYSTEM "DTD文件的URL">

  2.<!DOCTYPE 文档类型名称 PUBLIC "DTD名称" "DTD文件的URL">

  文档类型名称由XML文档的编写者自己定义.一般是XML文档的根元素名称.关键字SYSTEM表明XML文档所遵循的是一个本地的DTD文件.PUBLIC表明XML文档遵循的是一个权威机构制定的DTD文件.

 例子演示

  book.xml文件如下:

 1 <?xml version="1.0" encoding="gb2312" ?>
 2 <!--
 3     导入css样式,
 4 -->
 5 <?xml-stylesheet type="text/css" href="book.css"?>
 6 
 7 <!-- 
 8     在XML文件中导入外部的DTD文件.DTD(Document Type Definition)
 9 -->
10 <!DOCTYPE book SYSTEM "book.dtd">
11 
12 <!--
13     在XML文件中直接定义DTD,如下
14     
15     <!DOCTYPE 书架[
16         <!ELEMENT 书架 (书+)>
17         <!ELEMENT 书(书名,作者,售价)>
18         <!ELEMENT 书名(#PCDATA)>
19         <!ELEMENT 作者(#PCDATA)>
20         <!ELEMENT 售价(#PCDATA)>
21     ]>
22 -->
23 
24 <书架>
25     <>
26         <书名>基于J2EE的AJAX宝典</书名>
27         <作者>李刚</作者>
28         <售价>58元</售价>
29     </>
30     <>
31         <书名>JAVA_WEB开发核心内幕</书名>
32         <作者>大刚</作者>
33         <售价>60元</售价>
34     </>
35     <>
36         <书名>锋利的JQUERY</书名>
37         <作者>小刚</作者>
38         <售价>70元</售价>
39     </>
40 </书架>

 

 而在与book.xml文件的同一目录中定义book.dtd,如下:

1 <!ELEMENT 书架 (书+)>
2 <!ELEMENT 书(书名,作者,售价)>
3 <!ELEMENT 书名(#PCDATA)>
4 <!ELEMENT 售价(#PCDATA)>
5 <!ELEMENT 作者(#PCDATA)>

 之后在浏览器中可以看到效果如下:

bubuko.com,布布扣

 

 在XML文档内部直接嵌入DTD

  可以在XML文档里直接嵌入DTD.格式如下:<!DOCTYPE 根元素名[DTD定义语句]>.在上面的代码中也有演示.

 在XML文档内部引入CSS

  使用<?xml-stylesheet type="text/css" href="" ?>可以将指定的CSS样式导入.由于CSS不支持中文命名,所以在用css进行美化时,要将XML文档中的元素命名为英文.

  例如person.xml如下:

1 <?xml version="1.0" encoding="gb2312" ?>
2 <?xml-stylesheet type="text/css" href="books.css" ?>
3 
4 <person>
5     <name>张三</name>
6 </person>

 

   person.css如下:

<?xml version="1.0" encoding="gb2312"?>
name{
    color:red;
    font-size:20px;
    font-family:"黑体"
}

 

 

  

 

XML(二),布布扣,bubuko.com

XML(二)

标签:style   blog   http   color   java   使用   io   文件   

原文地址:http://www.cnblogs.com/zhouxuanyu/p/3921922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!