xml

一、XML的概述(了解)

* eXtensible Markup Language 可扩展标记语言
* 宗旨是传输数据,而非显示数据。
* XML标签没有被预定义,需要用户自行定义标签。
* XML技术是W3C组织(WorldWideWeConsortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。
* 作用: a. 传输数据
 b. 配置文件(主要用途)


 

二、XML的语法(掌握)

* <?xml version=“1.0”?> 文档声明必须出现在第一句
* 一个标签有如下两种书写形式:
包含标签主体:<mytag>some content</mytag>
不含标签主体:<mytag/>
* 一个XML文档必须有且仅有一个根标签
* XML中不会忽略主体内容中出现的空格和换行。
* 严格区分大小写
* <!--这是注释-->
* CDATA : 把标签当做普通文本内容;
<![CDATA[
<itcast>www.itcast.cn</itcast>
]]>

 

<?xml version = "1.0" ?>
<中国>
	<首都>北京</首都>
</中国>
未写encoding属性:


encoding属性:告诉浏览器 解码的时候采用什么来解码


三、XML的约束(看懂即可,掌握引入外部约束文件的语句)

* DTD约束(不够严谨)

(Document Type Definition)文档类型定义

*分类: 
格式良好的XML:遵循XML语法的XML
有效的XML:遵循约束文档的XML
    
      约束文档定义了在XML中允许出现的元素名称、属性及元素出现的顺序等等。
  
    注意:dtd文档必须用utf-8编码格式保存 
* 校验XML的有效性
    * 非校验解析器  参见validator.html
* 校验解析器

* DTD 文件的引入:
当引用的DTD文档在本地时,采用如下方式:<!DOCTYPE 根元素 SYSTEM “DTD文档路径”>
当引用的DTD文档在公共网络上时,采用如下方式:
<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>
eg : <!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
* DTD文件的语法
在DTD文档中使用ELEMENT关键字来声明一个XML元素。
如果子元素用逗号分开,说明必须按照声明顺序去编写XML文档。
如果子元素用“|”分开,说明任选其一
用+、*、?来表示元素出现的次数
   定义属性:
    <!ATTLIST 元素名
属性名1 属性值类型 设置说明

属性名2 属性值类型 设置说明>


采用IE内置的解析器来验证xml文件的正确性:
book.xml:
<?xml version = "1.0" ?>
<!DOCTYPE 书架  SYSTEM "book.dtd"> 
<书架>
	<书>
		<书名>葵花宝典</书名>
		<作者>安倍晋三</作者>
		<售价>100</售价>
	</书>
	<书>
		<书名>金瓶梅</书名>
		<作者>安倍晋四</作者>
		<售价>50</售价>
	</书>
</书架>

book.dtd:

<!ELEMENT 书架 (书+)>
	<!ELEMENT 书 (书名,作者,售价)>
	<!ELEMENT 书名 (#PCDATA)>
	<!ELEMENT 作者 (#PCDATA)>
	<!ELEMENT 售价 (#PCDATA)>
vaidator.html:

<body>
     <script type="text/javascript">
     <!--
		var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
		xmldoc.validateOnParse = "true";
		xmldoc.load("book.xml");
		var reason = xmldoc.parseError.reason;  
		var line = xmldoc.parseError.line ;
		document.write(line + ":" + reason) ;
     //-->
     </script>
 </body>

* Schema约束(严谨,结构清晰)

掌握如何引入一个schema文件
* 名称空间 : 指的是一个环境,所用的标签来自于哪个环境定义的。
* 掌握引用schema文件: 
xml中引入schema约束的步骤:
1、查看schema文档,找到根元素,在xml中写出来
<?xml version="1.0" encoding="UTF-8"?>
<书架>
 
</书架>

2、根元素来自哪个名称空间。使用xmlns指令来声明
名称空间是在schema中定义的,就是targetNamespace的值
 
<?xml version="1.0" encoding="UTF-8"?>
<itcast:书架 xmlns:itcast="http://www.itcast.com/book">
 
</itcast:书架>

3、引入的名称空间根哪个xsd文件对应?
使用schemaLocation来指定:两个取值:第一个为名称空间 第二个为xsd文件的路径
 
<?xml version="1.0" encoding="UTF-8"?>
<itcast:书架 xmlns:itcast="http://www.itcast.com/book"
schemaLocation="http://www.itcast.com/book book.xsd">
 
</itcast:书架>

4、schemaLocation哪里来的?它来自一个标准的名称空间,直接复制黏贴即可.
<?xml version="1.0" encoding="UTF-8"?>
<itcast:书架 xmlns:itcast="http://www.itcast.com/book"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.itcast.com/book book.xsd">
 
</itcast:书架>

5、只要以上4部搞好了,对于子标签myeclipse就有提示了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值