zoukankan      html  css  js  c++  java
  • java攻城狮之路--复习xml&dom_pull编程

    xml&dom_pull编程:

    1、去掉欢迎弹窗界面:在window项的preferences选项中输入“configuration center” 找到这一项然后
         把复选框勾去即可。

    2、去掉打开Myeclipse时弹出的:Please allow Subclipse team to receive......办法:

    Windows-->Preferences-->General-->Startup and Shutdown-->取消Subclipse Usage Reporting 的勾选

    MyEclipse8.5
    1、配置workspace ----- 建议不要采用含有空格和中文目录
    所有代码保存workspace空间中
    2、新建工程时,设置工程需要jre环境
    MyEclipse提供多种内置layout --- 每种布局 界面不同,菜单不同
    工程的属性
    编码集 --- 导入其它工程时,注意编码类型一致
    java build path 设置 classpath位置 ,指定当前工程引入类库
    source中指定.java 文件 和.class文件 存放位置
    librialies 指定当前工程引用类库
    Java Compiler 指定 .java 采用 那个 版本 编译 .class文件 ----- 编译器版本
    当jre版本低于编译器版本 : Bad version number in .class file

    3、对已经存在工程进行分组 working set
    通过分组隐藏不需要使用工程

    4、快捷键
    alt+/ Content Assist模板键 --- 将代码快速补全 ---- windows 首选项 java editor templates
    ctrl+1 Quick Fix快速修复 提供代码修改建议
    * 使用alt+/ 无反应 修改快捷键设置 window首选项 general --- keys
    * 设置代码 保存时进行格式化 windows首选项 java -editor - save actions

    程序调试
    java程序员核心能力 --- 代码Debug能力
    1、当代码出错了 --- 查看错误信息 --- 找到错误发生位置
    * 从上向下找第一行你写的程序
    2、根据经验猜测错误原因
    通过sysout或者日志技术 打印关键数据信息到控制台
    通过Eclipse自带断点调试功能,查看关键位置数据 ----- 断点调试 Break Point ----- 程序通过Debug as 运行
    * F5和F7 一起使用,查看具体代码实现 F6 单独使用直接跳到代码下一行
    F3 查看类代码
    F4 查看类继承关系

    关于代码测试工作 ----- 测试:白盒测试和黑盒测试
    白盒测试测试代码结构和逻辑(可见代码测试),黑盒测试测试代码功能和性能(不可见代码测试)
    * 白盒测试局限性1,白盒测试不可能测试所有代码2,白盒测试难度比较高--白盒测试交给软件开发工程师自己测。
       单体测试是一种白盒测试,测试代码功能模块 -- 测试代码单个功能

    junit 是java 的单体测试技术
    1、编写junit 在工程引用junit 类库
    2、编写单体测试用例
    * 创建public void 无参数的方法 、在方法前添加@Test 注解
    3、每个测试方法 相当于以前编写main 函数,每个测试方法可以单独执行

    在使用junit进行测试当方法非常多,每个方法输出内容到控制台,人们无法通过人工进行检查
    * 自动化结果检查 --- 断言 Assert
    断言原理:调用方法,调用方法前,准备测试数据、测试数据运行结果 ---- 比较实际结果与预期结果是否相同

    * 编写单体测试时,不要仅测试正确的数据和结果,测试不正确数据(非法数据)

    XML技术:与数据相关技术,在企业中xml技术常用来存储数据和传输数据 ,流行原因-- xml与任何编程语言无关
    xml 可用于 php、java、.net 任何编程语言
    * 通过标签来 标记数据

    什么是标记语言?
    <xxx>aaa</xxx> 典型标记语言 HTML ---- 用标记 修饰文本信息

    XML标记随意定义 --- 可扩展
    XML典型存储和传输应用:
    1、XML 充当数据库 保存数据信息 --- 试题采用xml保存的 、google 数据信息通过xml格式保存
    2、在AJAX传输数据 、WebService技术 网络中传输数据时,格式采用xml
    在HTML中预定义了很多标记,每个标记都有相应显示效果,xml所有标记没有被预定义
    在xml中 <name>HLG</name> ---- 想确定name标记含义 ,需要对xml 添加约束

    XML语法
    1、文档声明
    2、元素
    3、属性
    4、注释
    5、CDATA块
    6、处理指令

    任何xml必须具备文档声明 <?xml version="1.0" ?>

    XML是一种标记语言 存储和传输数据 --- 保存数据内容
    没有指定xml 编码集 --- 默认采用ISO-8859-1 编码 (不支持中文数据)
    * 注意问题 当xml 指定encoding="utf-8" 是浏览器查看编码集-- 浏览器查看编码集必须要和文件保存编码集一致
    * 新建记事本程序采用系统默认编码集 --- 默认编码集gbk ---- 使用utf-8编码 另存为

    当声明standalone = "yes" 该xml是独立xml 不依赖外面其它文件,standalone = "no" 该xml 依赖外部一些文件

    XML 通过元素描述复杂关系模型数据

    xml语法规范
    1、所有xml元素必须结束
    <abc></abc> ----- 在xml 文件中如果标签中没有内容 自结束 <abc />
    2、标签不允许交叉嵌套
    3、有且仅有一个根元素
    4、xml文件中 空格和换行 会被解析器进行解析的
    5、严格区分大小写,元素和属性名称不能以数字开始

    属性定义语法 <元素名称 属性名称="属性值" 属性名称="属性值" ....>
    一个元素定义多个属性的,每个属性值必须使用单引号和双引号
    6、属性的值必须用单引号或者双引号 引起来
    7、xml注释与html注释相同 <!-- --> 注释不能嵌套

    CDATA区域内 保留不被解析器解析的内容 ----通常存放特殊代码,这些代码造成xml格式混乱
    CDATA和转义字符在哪些情况使用?区别?
    * 优先使用CDATA XML技术存储数据,传输数据、解析数据

    8、通过PI指令控制xml显示样式 (指令之前不能有注释)
    当xml 使用pi指令 引用CSS --- 效果等同于HTML,进行页面数据展示
    * 通过xml进行显示数据 ,通过XSLT 修饰xml数据显示 (类似CSS)

    XML 技术应用 两大类
    1、传输和存储数据 ----- 程序员为了简化开发,不对xml使用约束技术
    * 不使用xml约束技术,xml 格式不一定正确
    * 所有xml 数据内容生成,解析过程 都是通过程序来完成的
    2、使用xml 作为配置文件
    Android SSH ----- 程序员为了保证xml元素准确性,通常xml文档使用约束技术的

    什么xml使用约束? 使用约束xml文档 --- 元素内容格式更加规范
    如果企业中xml没有使用约束 ------ 通过程序生成xml和解析xml时,不使用约束,代码更加简单

    XML约束技术 DTD 和 Schema

    DTD技术快速入门
    1、编写数据xml --- books.xml
    2、编写dtd文件
    * 为文档每一个元素(不同名称) <!ELEMENT
    语法 <!ELEMENT 元素名称 子元素>
    元素内部文本 #PCDATA
    3、将xml文件与dtd文件关联起来

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/css" href="1.css" ?> 
    <!DOCTYPE books SYSTEM "books.dtd">
    
    <books>
        <book>
                 <name>java编程思想</name>
                 <price>30.0</price>
        </book>
    </books>
    books.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!ELEMENT books >
    <!ELEMENT book (name,price)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT price (#PCDATA)>
    books.dtd
    @CHARSET "UTF-8";
    name{
        color:red;
    }
    1.css

    DTD与xml关联三种方式
    1、内部DTD ----- 语法 <!DOCTYPE 根元素 []>
    2、外部DTD (引用本地DTD) ----- 语法 <!DOCTYPE 根元素 SYSTEM "本地DTD文件位置" >
    3、公共DTD (引用网络上DTD) <!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
    * 公共DTD 使用 名称 W3C规范官方组织规定的

    元素(ELEMENT)定义
    * 内容特点符合含义
    () 子元素、分组
    , 代表子元素顺序
    + * ? ---- 正则表达式 + 1到多个 、* 任意个(0到多个)、 ? 0或者1个
    | 多选一

    特殊元素内容:文本类型内容 #PCDATA 子元素内容如果为空 EMPTY


    属性(ATTLIST)定义
    语法:<!ATTLIST 元素名称 属性列表 >
    属性列表:
    属性名称 类型 约束
    属性名称 类型 约束
    属性名称 类型 约束
    属性名称 类型 约束

    属性类型
    1、CDATA 文本类型属性
    2、(值1|值2|值3 ) 三个值选一个
    3、ID 表示属性值唯一

    约束
    1、#REQUIERD 属性必须
    2、#IMPLIED 属性可选
    3、fixed value 属性值固定
    4、default 默认值

    实体(ENTITY)定义
    对于xml数据内容重复,可以抽取实体
    语法:<!ENTITY 实体名称 "实体内容" >

    ===================================================

    XML Schema 使用一套预先定义好元素和属性 开发的
    ----- 预先定义好元素和属性 规定了schema 结构和内容
    ----- 定义schema 规定xml文档 格式和内容

    预先已经定义好元素和属性 ------ 定义schema ------- 定义xml实例

    Schema本身也是xml ,不像DTD使用单独语法

    将schema中定义元素,绑定URI地址(名称空间)上,用来唯一标识元素来自哪个schema 。

    * 为什么要有名称空间? 一个xml实例 引用多个Schema ,当两个schema定义同名元素,
       为了区分同名元素引用自哪个文档。

    Schema快速入门
    1、编写数据xml文件
    2、编写schema文件 .xsd
    1) 引入 W3C 名称空间 xmlns="http://www.w3.org/2001/XMLSchema"
    每一个元素 对应 <element>
    区分复杂元素和简单元素
    2) 为schema定义元素指定名称空间 URI (URI可以是任何路径)
    3、在xml实例数据文件中 ,引用自定义Schema

    elementFormDefault="unqualified"
    1、如果schema 将 elementFormDefault="unqualified" ,xml 实例文档 引用名称空间必须使用前缀 ---- 前缀修饰根元素
    2、当前xml实例文档所有子元素必须不能用前缀

    名称空间 作用 --- 唯一标识schema当中定义元素

    简单元素 直接编写type属性 、复杂元素 <complexType>

    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.example.org/books" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.example.org/books books.xsd"
    >
    <books>
           <book>
                 <name>think in java</name>
                 <price>100</price>
           </book>
    </books>
    </schema>
    books.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
            targetNamespace="http://www.example.org/books"  
            elementFormDefault="qualified">
    <element name="books">
             <complexType>
                  <sequence>
                  <element name="book">
                  <complexType>
                      <sequence>
                          <element name="name" type="string"></element>
                         <element name="price" type="int"></element>
                      </sequence>
                  </complexType>
                  </element>
                  </sequence>
             </complexType>
    </element>
    </schema>
    books.xsd

    有多个相同的元素则分开来写各自的schema,如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <company xmlns="http://www.example.org/company"
            xmlns:dept="http://www.example.org/department"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.example.org/company company.xsd 
                               http://www.example.org/department department.xsd"
    >
    <employee>
          <dept:name>think in java</dept:name>
          <name>12306</name>
    </employee>
    </company>
    company.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
            targetNamespace="http://www.example.org/company" 
            xmlns:tns="http://www.example.org/company" 
            elementFormDefault="qualified">
    
    <element name="company">
        <complexType>
            <sequence>
               <element name="employee">
                     <complexType>
                        <sequence>
                                 <any></any>
                               <element name="name" type="int"></element>
                        </sequence>
                     </complexType>
               </element>
            </sequence>
        </complexType>
    </element>        
    </schema>
    company.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
            targetNamespace="http://www.example.org/department" 
            xmlns:tns="http://www.example.org/department" 
            elementFormDefault="qualified">        
        <element name="name" type="string"></element>
    </schema>
    department.xsd
  • 相关阅读:
    AC3 encoder flow
    AC3 IMDCT
    AC3 Rematrix
    AC3 channel coupling
    AC3 mantissa quantization and decoding
    AC3 bit allocation
    AC3 exponent coding
    C# 判断字符串为数字 int float double
    vs 修改默认的调试浏览器
    visio 如何扩大画布大小
  • 原文地址:https://www.cnblogs.com/shellway/p/3940577.html
Copyright © 2011-2022 走看看