jun - 云代码空间
—— 相信 ,梦
html 区别: 显示网页数据 标签预定义
xml 自定义标签 可扩展的标记性语言
xml 通用性在不同而定语言平台中都可以解析: php .net
文件.xml 文本开发 编码 头声明 注意的地方:编码
<?xml version=”1.0” encoding=”utf-8”?>
默认编码: encoding=”iso-8859-1” 不支持中文
3.1.1作用: Xml 文档进行语法限定 定义xml 文档的编写
面向对象主要是 :对xml 里面的 元素 属性 文本 做约束
内部约束特点:在xml 文件中进行如下代码::
3.1.2引入DTD约束: <!DOCTYPE 根元素 [元素声明]>
<!DOCTYPE 根元素 [
<! ELEMENT books (book+ * ? )>
]>
+ 表示该元素出现的次数 1个 或者多个
* 表示该元素出现的次数 0 次 或者多次
? 表示 该元素出现的次数 0次或1次
只含有文本节点的元素约束写法:
< !ELEMENT name (#PCDATA) >
(#PCDATA) > 表示该元素里面只有文本节点
属性约束的写法:
<!ATTLIST book cid CDATA #IMPLIED>
#REQUIRED |
属性值是必需的 |
#IMPLIED |
属性不是必需的 |
#FIXED value |
属性值是固定的 |
属性出现的值: 主要有三种上述的. 必须出现 可或出现 固定值
属性类型2种必须掌握: CDATA 文本类型 ID 类型 唯一的不可重复的字符类型
Xml 元素 属性 文本
元素节点 复杂节点 可以含有元素节点 文本 层次关系 (,) 描述
<!ELEMENT 元素名 () > + * ?
当元素只含有文本节点
<!ELEMENT name (#PCDATA) >
属性约束 属于哪一个元素名称
<!ATTLIST 元素名 属性名 属性值类型(ID &CDATA) 值(约束 三个) >
如图所示:
外部的约束 区别 .dtd 文件外部文件 对xml 进行约束
DTD 文件主要做DTD语法的限定
XML 文件引入相关的DTD
<!DOCTYPE 根元素名称 SYSTEM “文件位置” >
1: 编写一个DTD文件 扩展名.dtd
2: 在指定的XML 文件中引入 DTD文件即可
SYSTEM 后添加文件的位置: 注意路径问题 上述books.dtd表示当前路径下
实体 出现的原因:
定义重复的数据 dtd
Dtd文件中 <!ENTITY 实体名 “实体值”>
XML 文件引入: &实体名;
CDATA区
作用 处理代码片段 或者 特殊字符
<![CDATA[
100<200
]]>
1: 数据类型具体化定义 int string double date…
2: 一个xml文件可以引入多个约束schema
3: schema 本身就是xml 定义schema 标签 根元素 schema
通过名称空间引入 namespace
目的: 指定xml进行约束 编写:schema 引入预定义好的 w3c定义好了一套schema约束的标签 <element> 最终目的 自己的book.xml 进行约束
第一步: 引入官方的schema 使用官方的预定义好的一套标签
第二步 使用官方的标签 定义约束 book.xml 文档 编写schema 文档
区分元素 复杂元素 和 简单元素 开始编写
复杂元素: 含有 子元素 或者 属性 添加 complexType 标签
简单元素: 只含有文本 添加属性 type double int
具体如下:
第三步: 定义自定义的schema文档的名称空间:
给指定的xml 进行引入约束
第四步: 在book.xml 通过属性名获取指定的目标约束文件位置
注意点:
1: 在schema 文档中的 值的选择
elementFormDefault="unqualified"
qualified: 根元素 和 子元素 保持名称空间一致的限定
unqualified: 必须对目标的xml根元素进行添加名称空间别名操作 而子元素不需要添加
2: 引入官方的固定的名称空间不可以更改
3: 引入指定的约束 通过schemaLocation 属性 需要引入官方的schema
Xmlns:xsi =”http://www.w3.org/2001/XMLSchema-instance
” xsi:schemaLocation=”名称空间 .xsd 文件的位置”
今天 学习知识完成.
家庭作业 student.xml
DTD Schema student.xml
复杂根元素students 3个学员
子元素
student(: id(属性) name(元素) age classroom )
classroom (cid 属性 班级号roomname roomtype
)
元素 含有子元素和属性
含有班级信息 含有roomname roomtype
限定: id cid ID l类型 属性必须出现
roomtype 限定: 字符不可超过4个字符
明天课程预习: xml 解析 JAXP sun JDK
Java for xml processing
Javax.xml.parser
DocumentBuilfer 解析核心类 api 获取对象
DocumentBuilderFactory 工厂类à获取解析器
按照树形结构 元素 属性 文本 Node