什么是XML,为什么学习XML?
Extensible Markup Language,翻译过来为可扩展标记语言。Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000年发布的XML1.0规范。
XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。 在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。
XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。 在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定 例如一个软件在启动时,它需要启动A、B两个模块,而A、B这两个模块在启动时,又分别需要A1、A2和B1、B2模块的支持,为了准确描述这种关系,此时使用XML文件最为合适不过。
在编写XML文档时,需要先使用文档声明,声明XML文档的类型。 最简单的声明语法: <?xml version="1.0" ?> 用encoding属性说明文档的字符编码: <?xml version="1.0" encoding="GB2312" ?> 用standalone属性说明文档是否独立: <?xml version="1.0" encoding="GB2312" standalone="yes" ?>
元素 (1):
XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式。 包含标签体:<a>www.itcast.cn</a> 不含标签体的:<a></a>,简写为:<a/> 一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 ,例如: <a>welcome to <b>www.it315.org</a></b> 格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。
元素(2)——命名规范:
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范: 区分大小写,例如,<P>和<p>是两个不同的标记。 不能以数字或"_" (下划线)开头。 不能以xml(或XML、或Xml 等)开头。 不能包含空格。 名称中间不能包含冒号(:)。
XML约束概述:
什么是XML约束 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。 为什么需要XML约束 常用的约束技术 XML DTD XML Schema
编程校验XML文档正确性:
IE5以上浏览器内置了XML解析工具:Microsort.XMLDOM,开发人员可以编写javascript代码,利用这个解析工具装载xml文件,并对xml文件进行dtd验证。 创建xml文档解析器对象 var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); 开启xml校验 xmldoc.validateOnParse = "true"; 装载xml文档 xmldoc.load("book.xml"); 获取错误信息 xmldoc.parseError.reason; xmldoc.parseError.line
编写DTD约束的两种方式:
DTD约束即可以作为一个单独的文件编写,也可以在XML文件内编写。
在xml文件内编写DTD:
举例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE 书架 [ <!ELEMENT 书架 (书+)> <!ELEMENT 书 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> <!ELEMENT 售价 (#PCDATA)> ]> <书架> <书> <书名>Java就业培训教程</书名> <作者>张孝祥</作者> <售价>39.00元</售价> </书> ... </书架>
引用DTD约束:
XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件,DOCTYPE声明语句有两种形式: 当引用的文件在本地时,采用如下方式: <!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL"> 例如: <!DOCTYPE 书架 SYSTEM “book.dtd”>。 当引用的文件是一个公共的文件时,采用如下方式: <!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL"> 例如:<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|