表单的简单校验和 ## XML ##

表单的简单校验;

    >> 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对象的函数来进行操作;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大伟伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值