表单的简单校验;
>> onsubmit 事件;
>> 格式:
<from onsubmit ="return run()">
注意,run函数需有返回值,
返回值为ture 则表单提交;
>> 扩展:
使用name的引用完成校验动作;
# XML 的简介;
>> 概念:
一门可扩展的标记型语言;因为是标记型语言,
所以可以用DOM的方式来解析;
只要符合约束文件的语法,就可以自定义标签;
XML用来传输数据,HTML用来显示数据;
>> 应用:
> 用于描述和保存有关系的数据,并且可以将数据之间的关系一同保存;
> 用于框架(SSH)的配置文件;
> 可以作为载体传输数据;
# XML 的语法;
>> 基本要求 -- 有开始和结束标签;
>> 基本构成;
|-- 文档声明;
|-- 声明当前的文件是一个XML文件;
格式:
<?xml version="1.0"?>
要求:
必须出现在文档的第一行第一列;
属性:
|-- voersion="1.0"
|-- encoding="UTF-8" --- 代表打开XML文件时采用的编码;
|-- standalone="yes/no" --- XML文件是否独立(可写可不写);
注意事项;
|-- 文件的编码保存的格式和设置的格式不一样,会产生乱码;
|-- 定义元素;
|-- 包含主体<mytag></mytag>
|-- 不包含主体<mytag/>
|-- 标签之间不允许交叉嵌套;
|-- 只能有一个root节点;
|-- 命名规范;
|-- 区分大小写;
|-- 不能以数字和- 开头;
|-- 不能以xml(大小写)开头;
|-- 不能包含空格和冒号;
|-- 定义属性;
|-- 可以自定义属性;
|-- 不能有相同名称的属性;
|-- 属性值一定要用引号包裹(包含"/');
|-- 命名规范参考元素的命名规范;
|-- 注释(<!-- 同HTML注释 -->);
|-- 转义字符;
|-- 参见老师笔记;
|-- CDATA区;
|-- 转义字符区,当有不希望被以XML约束解析的内容时可以放入本区;
|-- 格式:
<![CDATA[内容]]>
|-- PI处理指令;
|-- 用来指挥浏览器解析XML文档的方式;
|-- 格式;
<?xml-stylesheet type?>
|-- 应用;
可以和CSS结合;
# XML 的约束 --- DTD;
>> 为什么要使用约束;
|-- 用于校验代码的语法和格式,在提交之前可以对源码进行验证;
>> 两个概念;
|-- 格式良好的XML:遵循语法的文档;
|-- 遵循约束文档的XML;
>> 格式:
|-- 定义元素;
|-- <!ELEMENT 元素名称 元素类型>
|-- 判断哪些是简单元素哪些是复杂元素;
|-- 简单元素写法(#PCDATA)
|-- 复杂元素写法(子节点1,子节点2)
|-- 在XML文件中引入DTD的约束文件;
|-- 引入本地DTD文件 <!DCTYPE 根节点 STSTEM "DTD文件地址">
# DTD与HTML的结合;
>>方式;
|-- 直接写在XML文件上面;
|-- 格式:
<!DOCTYPE 根节点[ DTD 文件内容]>
|-- 定义外部DTD文件,引入本地外部的DTD文件;
|-- 格式:
<!DOCTYPE 根节点 SYSTEM "DTD地址">
|-- 直接引入外部的来自网络的DTD文件,
|-- 格式:
<!DOCTYPE 根节点 PUBLIC "文件名" "文件地址">
# DTD 的语法;
>> 元素的定义;
|-- <!ELEMENT 元素名称 元素类型>
|-- 元素类型;
|-- (#PCDATA) --- 可解析的字符串数据;
|-- EMPTY --- 元素没有标签主体;
|-- ANY --- 任意类型;
|-- (子节点,子节点,...) --- 当前元素是复杂元素,下面包含子节点;
|-- 子节点之间的关系;
|-- 子节点之间的顺序关系;
|-- 【, , , 】代表子节点按照顺序出现;
|-- 【|】代表子节点只能出现其中一个;
|-- 子节点之间的数量关系;
|-- 【+】 子节点可以出现1次或多次;
|-- 【×】 子节点可以出现0次或多次;
|-- 【?】子节点可以出现0次或1次;
>> 属性的定义;
|-- <!ATLIST 元素名称 属性名称 属性类型 属性约束 > --- 元素名称定义属性作用的元素;
|-- 属性值的类型;
|-- CDATA: 普通文本;
|-- 枚举 (A|B|C|D|E) 该类型没有独立关键字,小括号加或方式即为枚举,只能选择一个值;
|-- ID:代表属性是唯一的,值不能相同,也不能是数字;
|-- 属性约束;
|-- #REUIRED --- 属性必须出现;
|-- #IMPLIED --- 属性是可选的;
|-- #FIXED --- 属性是固定值;
|-- 直接值 --- 代表默认值;
# XML 的解析;
>> 基本技术;
|-- DOM解析;
|-- SAX解析;
|-- JAXP解析;
|-- 区别(面试题);
|-- DOM:
|-- 将所有文档内容加载到内存中,形成一个DOM树;
|-- SAX(非官方的优秀开源项目,被所有解析器支持):
|-- 读取一行解析一行;
>> JAXP解析;
|-- 先拿到解析器对象;
|-- 通过预定义的工厂类拿到解析器的对象;
|-- 案例:(参考JaxpTest.java)
|-- 基本步骤:
1. 先获取解析器的工厂类;
2. 通过工厂类获得解析器对象;
3. 通过解析器对象来解析XML文档,获得document对象;
4. 通过document对象的函数来进行操作;
>> onsubmit 事件;
>> 格式:
<from onsubmit ="return run()">
注意,run函数需有返回值,
返回值为ture 则表单提交;
>> 扩展:
使用name的引用完成校验动作;
# XML 的简介;
>> 概念:
一门可扩展的标记型语言;因为是标记型语言,
所以可以用DOM的方式来解析;
只要符合约束文件的语法,就可以自定义标签;
XML用来传输数据,HTML用来显示数据;
>> 应用:
> 用于描述和保存有关系的数据,并且可以将数据之间的关系一同保存;
> 用于框架(SSH)的配置文件;
> 可以作为载体传输数据;
# XML 的语法;
>> 基本要求 -- 有开始和结束标签;
>> 基本构成;
|-- 文档声明;
|-- 声明当前的文件是一个XML文件;
格式:
<?xml version="1.0"?>
要求:
必须出现在文档的第一行第一列;
属性:
|-- voersion="1.0"
|-- encoding="UTF-8" --- 代表打开XML文件时采用的编码;
|-- standalone="yes/no" --- XML文件是否独立(可写可不写);
注意事项;
|-- 文件的编码保存的格式和设置的格式不一样,会产生乱码;
|-- 定义元素;
|-- 包含主体<mytag></mytag>
|-- 不包含主体<mytag/>
|-- 标签之间不允许交叉嵌套;
|-- 只能有一个root节点;
|-- 命名规范;
|-- 区分大小写;
|-- 不能以数字和- 开头;
|-- 不能以xml(大小写)开头;
|-- 不能包含空格和冒号;
|-- 定义属性;
|-- 可以自定义属性;
|-- 不能有相同名称的属性;
|-- 属性值一定要用引号包裹(包含"/');
|-- 命名规范参考元素的命名规范;
|-- 注释(<!-- 同HTML注释 -->);
|-- 转义字符;
|-- 参见老师笔记;
|-- CDATA区;
|-- 转义字符区,当有不希望被以XML约束解析的内容时可以放入本区;
|-- 格式:
<![CDATA[内容]]>
|-- PI处理指令;
|-- 用来指挥浏览器解析XML文档的方式;
|-- 格式;
<?xml-stylesheet type?>
|-- 应用;
可以和CSS结合;
# XML 的约束 --- DTD;
>> 为什么要使用约束;
|-- 用于校验代码的语法和格式,在提交之前可以对源码进行验证;
>> 两个概念;
|-- 格式良好的XML:遵循语法的文档;
|-- 遵循约束文档的XML;
>> 格式:
|-- 定义元素;
|-- <!ELEMENT 元素名称 元素类型>
|-- 判断哪些是简单元素哪些是复杂元素;
|-- 简单元素写法(#PCDATA)
|-- 复杂元素写法(子节点1,子节点2)
|-- 在XML文件中引入DTD的约束文件;
|-- 引入本地DTD文件 <!DCTYPE 根节点 STSTEM "DTD文件地址">
# DTD与HTML的结合;
>>方式;
|-- 直接写在XML文件上面;
|-- 格式:
<!DOCTYPE 根节点[ DTD 文件内容]>
|-- 定义外部DTD文件,引入本地外部的DTD文件;
|-- 格式:
<!DOCTYPE 根节点 SYSTEM "DTD地址">
|-- 直接引入外部的来自网络的DTD文件,
|-- 格式:
<!DOCTYPE 根节点 PUBLIC "文件名" "文件地址">
# DTD 的语法;
>> 元素的定义;
|-- <!ELEMENT 元素名称 元素类型>
|-- 元素类型;
|-- (#PCDATA) --- 可解析的字符串数据;
|-- EMPTY --- 元素没有标签主体;
|-- ANY --- 任意类型;
|-- (子节点,子节点,...) --- 当前元素是复杂元素,下面包含子节点;
|-- 子节点之间的关系;
|-- 子节点之间的顺序关系;
|-- 【, , , 】代表子节点按照顺序出现;
|-- 【|】代表子节点只能出现其中一个;
|-- 子节点之间的数量关系;
|-- 【+】 子节点可以出现1次或多次;
|-- 【×】 子节点可以出现0次或多次;
|-- 【?】子节点可以出现0次或1次;
>> 属性的定义;
|-- <!ATLIST 元素名称 属性名称 属性类型 属性约束 > --- 元素名称定义属性作用的元素;
|-- 属性值的类型;
|-- CDATA: 普通文本;
|-- 枚举 (A|B|C|D|E) 该类型没有独立关键字,小括号加或方式即为枚举,只能选择一个值;
|-- ID:代表属性是唯一的,值不能相同,也不能是数字;
|-- 属性约束;
|-- #REUIRED --- 属性必须出现;
|-- #IMPLIED --- 属性是可选的;
|-- #FIXED --- 属性是固定值;
|-- 直接值 --- 代表默认值;
# XML 的解析;
>> 基本技术;
|-- DOM解析;
|-- SAX解析;
|-- JAXP解析;
|-- 区别(面试题);
|-- DOM:
|-- 将所有文档内容加载到内存中,形成一个DOM树;
|-- SAX(非官方的优秀开源项目,被所有解析器支持):
|-- 读取一行解析一行;
>> JAXP解析;
|-- 先拿到解析器对象;
|-- 通过预定义的工厂类拿到解析器的对象;
|-- 案例:(参考JaxpTest.java)
|-- 基本步骤:
1. 先获取解析器的工厂类;
2. 通过工厂类获得解析器对象;
3. 通过解析器对象来解析XML文档,获得document对象;
4. 通过document对象的函数来进行操作;