加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML学习笔记

发布时间:2020-12-16 05:59:08 所属栏目:百科 来源:网络整理
导读:XML 属性: 一个标签可以有u盾讴歌属性,每个属性都有它自己的名称和取值。 属性值一定要用双引号或者单引号引起来 定义属性必须遵循与标签相同的明明规范 在XML技术中,标签属性所代表的信息,也可以被代称用子元素的形式来描述。 XML 注释: 格式:采用:!

XML属性:

一个标签可以有u盾讴歌属性,每个属性都有它自己的名称和取值。

属性值一定要用双引号或者单引号引起来

定义属性必须遵循与标签相同的明明规范

在XML技术中,标签属性所代表的信息,也可以被代称用子元素的形式来描述。

XML注释:

格式:采用:<!—注释-->格式。

注意:XML生命之前不能有注释。

XML的注释不能嵌套。

CDATA区:在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当做原始内容处理,此时,可以把这些内容放入CDATA区里。这些内容,将原封不动地输出。格式如:<![CDATA[]]>

效果图如下:

转义字符:

特殊字符

替代字符

&

&amp;

<

&lt;

>

&gt;

&quot;

&apos;

XML约束

常用的约束技术: XML DTD XML schema

DTDDocument Type Definition),全称为文档类型定义。

例:

book.xml

<?xmlversion="1.0" encoding="UTF-8"?>

<!DOCTYPE书架 SYSTEM"book.dtd">

<书架>

<书>

<书名>复兴之路</书名>

<作者>大米</作者>

<售价>100元</售价>

</书>

<书>

<书名>大米的小米</书名>

<作者>米粒儿</作者>

<售价>100元</售价>

</书>

<阿毛>小猫咪

</阿毛>

</书架>

book.xml对应的book.dtd

<!ELEMENT书架 (书+)> //ELEMENT元素定义

<!ELEMENT书 (书名,作者,售价)>

<!ELEMENT书名 (#PCDATA)>

<!ELEMENT作者 (#PCDATA)>

<!ELEMENT售价 (#PCDATA)>

DTD约束语法细节:

n 元素定义

n 属性定义

n 实体定义

元素定义1

在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:

<!ELEMENT 元素名称 元素类型>

元素类型可以是元素内容、或类型

1.如为元素内容:则需要使用()括起来,如

<!ELEMENT 书架(书名,作者,售价)>

<ELEMENT 书名(#PCDATA)>

2.如为元素类型,则直接书写,DTD规范定义了如下几种类型:

l EMPTY:用于定义空元素,例如:<br/><hr/>

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

n 实体定义

元素定义2

l 元素内容中可以使用如下方式,描述内容的组成联系

n 用逗号分隔,表示内容的出现顺序必须与声明时一致。

n <!ELEMENT MYFILE(TITLE,AUTHOR,EMAIL)>

n 用|分隔,表示任选其一,即多个只能出现一个

n <!ELEMENT MYFILE(TITLE|AUTHOR|EMAIL)>

l 在元素中也可以使用+、*、?等符号表示元素出现的次数:

n +:一次或多次(书+)

n ?:零次或一次(书?)

n *零次或多次(书*)

l 也可以使用圆括号()批量设置,如下:

n <!ELEMENTMYFILE((TITLE*,AUTHOR?,EMAIL)*|COMMENT)>

属性定义:

XML文档中的标签属性需通过ATTLIST为其设置属性:(ATT----->attribute)

语法格式:

<!ATTLIST 元素名

属性名1 属性值类型 设置说明

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

…….

>

属性声明举例:

<!ATTLIST 商品

类别 CDATA #REQUIRED 意即为:characterDATA 必须写

颜色 CDATA #IMPLIED 意即为:可选

>

对应的XML文件为:

<商品 类别=”服装” 颜色=”黄色”>…</商品>

<商品 类别=”服装”>…</商品>

<商品>…</商品>

属性定义中的“设置说明”

l #REQUIRED; 必须设置该属性

l #IMPLIED; 可以设置也可以不设置

l #FIXED; 说明该属性的取值固定为一个值,在XML文件中不恩能够为该属性设置其他值,单需要为该属性提供这个值

l 直接使用默认值:在XML中可以设置该值,也可以不设置该属性值。若没设置,则使用默认值。

<!ATTLIST 页面作者

姓名CDATA #IMPLIED

年龄 CDATA #IMPLIED

联系信息 CDATA #REQUIRED

网站职务 CDATA #FIXED“页面作者“

个人爱好 CDATA “上网”

>

常用属性值类型

l CDATA:表示属性值为普通文本字符串。

l ENUMERATED

l ID

l ENTITY(实体)

属性值类型------>ENUMERATED

属性的类型可以是一组取值的列表,在XML文件中设置的属性值只能是这个列表中的某个值(枚举)

<?xml version=”1.0” encoding=”GB2312” standalone=”yes”?>

<!DOCTYPE 购物篮 [

<!ELEMENT 肉 EMPTY>

<!ATTLIST 肉 品种(鸡肉|牛肉|猪肉|鱼肉|)“鸡肉“>

]>

<购物篮>

<肉 品种=“鱼肉“/>

<肉 品种=“牛肉“/>

<肉/>

</购物篮>

属性值类型----->ID

表示属性的设置值为一个唯一值。

ID属性的值只能由字母或下划线开始,不能出现空白字符

例如:

<?xml version=”1.0” encoding=”GB2312” standalone=”yes”?>

<!DOCTYPE联系人列表 [

<!ELEMENT 联系人列表 ANY>

<!ELEMENT 联系人(姓名,EMAIL)>

<!ELEMENT 姓名(#PCDATA)>

<!ELEMENT EMAIL(#PCDATA)>

<!ATTLIST 联系人 编号ID #REQUIRED>

]>

<联系人列表>

<联系人 编号=“a1”>

<姓名>张三</姓名>

<EMAIL>YDTECH@sina.com</EMAIL>

</联系人>

<联系人 编号=“a2”>

<姓名>李四</姓名>

<EMAIL>lisi@sina.com</EMAIL>

</联系人>

</联系人列表>

实体定义

l 实体用于为一段内容创建别名,以后在XML文档中就可以使用别名引用这段内容了。

l 在DTD定义中,一条<!ENTITY…>语句用于定义一个实体。

l 实体可以分为两种类型:引用实体和参数实体。

1、实体定义------>引用实体

引用实体主要在XML文档中被应用

语法格式:

<!ENTITY 实体名称 “实体内容“>:直接转变成实体内容

引用方式:

&实体名称;

举例:

<!ENTITY copyright“I am aprogrammer”>

……

引用时:&copyright;

2、实体定义------>参数实体

参数实体被DTD文件自身使用

语法格式:

<!ENTITY % 实体名称 “实体内容“>

引用方式: %实体名称;

举例1:

<!ENTITY %TAG_NAMES“姓名|EMAIL|电话|地址“>

<!ELEMENT 个人信息(%TAG_NAMES;|生日)>

<!ELEMENT 客户信息(%TAG_NAMES;|公司名)>

举例2:

<!ENTITY %common.attributes”id ID#IMPLIED account CDATA#REQUIRED”

>

<!ATTLIST purchaSEOrder %common.attributes;>

<!ATTLIST item %common.attributes;>

如何引用DTD约束?

XML文件使用DOCTYPE声明语句来致命它所遵循的DTD文件,DOCTYPE声明语句有两种形式:

当引用的文件在本地时,采用如下方式:

<!DOCTYPE 文档根节点 SYSTEM “DTD文件的URL”>

例如:<!DOCTYPE 书架SYSTEM “book.dtd”>

当引用的文件时一个公共的文件时,采用如下方式:

<!DOCTYPE 文档根节点 PUBLIC “DTD名称” “DTD文件的URL”>

例如:<!DOCTYPE web-app PUBLIC“-//Sun microsystem.Inc//DTD……..//EN”http://javasun.com/dtd/web-app_2_3.dtd>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读