补充:Jquery 中 的 Ajax 异步调用 xx.json文件
方法:直接改变url地址为 ...xx.json (相对路径)
XML和 DTD
XML:extensible markup language 可扩展标记性语言
特点: 1 跨平台
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 xml的 namespace (标识唯一性)
在xml1和xml2文档中 有一个<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 % 名字 “值”>