xml和dtd-----第八天

前端之家收集整理的这篇文章主要介绍了xml和dtd-----第八天前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

补充:Jquery 中 的 Ajax 异步调用 xx.json文件

方法:直接改变url地址为 ...xx.json (相对路径)

XMLDTD

XML:extensible markup language 可扩展标记性语言

特点: 1 跨平台

2 xml能够自定义标签

3 主要用于传输数据(可以当成数据库来用)

4 能够充当配置文件

发展:SGML(严谨)--html(经过优化和简化)--为了解决各个行业的数据交换问题--xml

新建一个txt 文档,后缀名改为xml

然后在该文档的第一句话写上:

<?xml version=”1.0”encoding=”utf-8/gbk/gb2312”?>

说明:

1 xml中必须且只有一个根元素

<根元素>

......

</根元素>

2 xml 敏感大小写

3 属性的值都要加 “”或者 ‘’

4 xml中写几个空格就有有几个空格

5 标签名取名规范:由 字母数字符号 (只能以字母开头) (符号不能是特殊符号:-,. :(标签名不能含有xml) 标签名不能有空格)(比如 > < 都不能用)

> <

< >

& &

" “

' ‘

由于xml识别空格

<标签属性=“值”>内容</标签>

<标签属性=“值”>

内容

</标签>

以上两种写法是不等价

xml中的注释 : <!-- xxxx -->

xml中的内容一般不要去写<< >>> $#%@@#$@#

很容易和xml本身的关键字相冲突,如果非要写

语法:<![CDATA[内容]]> 有点类似于注释 xml本身不会去解读它

面试题:需用用xml传递一个图片图片里面的编码都是二进制),请问,该如何处理

答:用CDATA 来保存图片

命名空间 :xmlns xmlnamespace (标识唯一性)

xml1xml2文档中 有一个<table标签

xml1中的table 表示桌子

xml2中的table表示表格

语法:<c: 书名 xmlns:c=”网页地址”>

<c:作者></...

</c:书名>

c是随便写的名字 网页地址一般是引用公司自己的内部的实际存在的介绍该标签详情的地址

由于xml过于自由 ,如何去约束xml的限制

DTD : document type definition 文档类型定义

Schema 也是用来限制xml

外部引用:

xml的申明语句下第一句写:

<!DOCTYPE 根元素 SYSTEM xx.dtd>

内部引用:

xml的申明语句下第一句写:

注意:要从根元素一个一个往下走

<!DOCTYPE 根元素 [

<!ELEMENT 根元素 (子节点元素) >

.......

]>

例子:

<!DOCTYPE 班级 [

<!ELEMENT 班级 (学生+) >

<!ELEMENT 学生 (名字,年龄,介绍) >

<!ELEMENT 名字 (#PCDATA)>

<!ELEMENT 年龄 (#PCDATA)>

<!ELEMENT 介绍 (#PCDATA)>

]>


关于DTD细节: 描述节点元素细节的

基本语法:

<!ELEMENT 元素名 类型 >

1 类型:EMPTY :必须为空

2 类型:(#PCDATA) :可以放任何文本,但不能放标签元素

3 类型:ANY :可以放任何文本或已定义的标签

DTD修饰符 :一般写在子元素后


DTD 属性:一般写在某个元素介绍的后边(属性之间没有分隔符)

语法:

<!ATTLIST 元素名

属性 类型 特性

.....

>

类型: 1 CDATA--任何字符

2 ID--表明值唯一 (只能以字母开头)

3 IDREF/IDREFS--表明引用已被定义的id/引用多个已被被定义的id

4 Enumerated(默认不写)--表示属性的值,只能是列举出来的,比如 性别 (|) #required

特点:#required--必写

#IMPLIED--可写可不写

#FIXED --必须写该值


补充: 文本实体:ENTITY:为一段内容创建一个别名,以后可以在xml中使用该别名来引用这段内容

语法格式:<!ENTITY 名字 “值”>

使用:&名字;

参数实体:ENTITY (只能写在外部dtd)

语法:<!ENTITY % 名字 “值”>

猜你在找的XML相关文章