XML

1.什么是XML?

xml全称Extensible Markup Language (可扩展标记语言),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

1998年2月,W3C正式批准了可扩展标记语言的标准定义,可扩展标记语言可以对文档和数据进行结构化处理,从而能够在部门、客户和供应商之间进行交换,实现动态内容生成,企业集成和应用开发。可扩展标记语言可以使我们能够更准确的搜索,更方便的传送软件组件,更好的描述一些事物。例如电子商务交易等。

作用:1.它被设计用来传输和存储数据。

            2.超文本标记语言被设计用来显示数据。

            3.它们都是标准通用标记语言的子集。


2.什么是可扩展语言?

可扩展语言是一种很像超文本标记语言的标记语言。

它的设计宗旨是传输数据,而不是显示数据。

它的标签没有被预定义,你需要自行定义标签。

它被设计为具有自我描述性。

它是W3C的推荐标准。


3.可扩展标记语言和超文本标记语言之间的差异

它不是超文本标记语言的替代。

它是对超文本标记语言的补充。

它和超文本标记语言为不同的目的而设计。


它被设计用来传输和存储数据,其焦点是数据的内容。

超文本标记语言被设计用来显示数据,其焦点是数据的外观。


超文本标记语言旨在显示信息,而它旨在传输信息。

对它最好的描述是:它是独立于软件和硬件的信息传输工具。


4.XML语法

1.文档声明:声明XML文档的类型(<?xml version="1.0" encoding="UTF-8"?>)(必须写在xml的第一行)

2.标签

a.文件有且仅有一个根标签,其他标签都必须封装在根标签中

b.非空标签必须由“开始标签”和“结束标签”组成,空标签没有“开始标签”和“结束标签”

c.XML全体标签必须形成树形,即标签不允许交叉。

d.命名规范:

字母,数字等。

        1.严格区分大小写。

        2.不能以数字,下划线,XML等开头

        3.不能包含空格。

        4.名字中间不能包含。

3.属性

a.一个标签可以允许有多个属性

b.属性值一定要用“或者”引起来

4.注释:

a.格式:<!--注释内容-->

b.文档声明之前不能有注释

c.注释不能嵌套

5.CDATA区:

放在CDATA区的内容,会原封不动的输出

语法:<![CDATA[内容]]>

6.特殊字符:<    &lt;

                   >     &gt;

                   '      &apos;

                   "      &quot;

                   &      &amp;


代码实现xml类,含有dtd约束:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons SYSTEM "my.dtd">---------引入本地的dtd约束
<persons>
    <person pid="G160628">
        <pname>张三</pname>
        <page>3</page>
    </person>
    
    <person pid="G160618">
        <pname>张三疯</pname>
        <page>33</page>
    </person>
</persons>


5.XML约束?

1.什么是XML约束?

另外一个文档用来约束XML文档的书写规范。

约束技术:xml DTD             xml Schema


DTD是什么?

Document Type Definition 文档类型定义


引入DTD文件:

本地:<!DOCTYPE 文档根节点  SYSTEM "dtd文件名">

公共:<!DOCTYPE 文档根节点  PUBLIC "dtd文件名" "DTD文件URL">


代码实现DTD类

<!ELEMENT persons (person*)>
    <!ELEMENT person (pname,page)>
        <!ELEMENT pname (#PCDATA)>
        <!ELEMENT page (#PCDATA)>
        
<!ATTLIST person pid ID #REQUIRED>  


2.DTD语法

元素ELEMENT

格式:<!ELEMENT 元素名称  元素类型>

元素类型:EMPTY:表示定义空元素

                ANY:表示元素内容为任意类型

                也可以写元素内容

元素内容:1.用逗号隔开:表示内容的出现顺序必须与声明时一致

                 2.用 | 隔开:表示任选其一,即多个只能出现一个

                 出现次数:+:一次或多次

                                  -:0次或1次

                                  ?:0次或多次


属性ATTLIST

格式:<!ATTLIST 元素名  属性名1 属性值类型 设置说明>

属性值类型:CDATA  普通文本字符串

                    ENUMERATED  枚举

                    ID  唯一(不能以数字开头)

                    ENTITY


实体ENTITY

格式:<!ENTITY >

为内容取名

类型:引用类型(XML引用)

                 格式:<!ENTITY 实体名称  “实体内容”>

                 引用:&实体名称

          参数实体(DTD引用)

                 格式:<!ENTITY % 实体名称  “实体内容”>

                 引用:%实体名称




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值