XML

一、xml文件的语法
   1  文档声明
      <?xml version="1.0"  指明XML文件的版本号,XML解析器就会采用对应的版本进行解析
                  encoding="UTF-8" 指明XML文件中的中文采用UTF-8编码,在IDE工具中,指明该文件的保存编码方式?
                  standalone="yes或no" 指明XML文件需要初其它文件DTD约束的话,就是no,如果单独的XML文件,就是yes>
        各浏览器中的XML解析器只对XML文件的语法检测

        文档声明以"<?xml" 开头,中间不能有空格,以"?>"结束,中间也不能有空格

       注意:保存XML文件时,一定要确保XML文件保存的编码和encoding声明的编码方式一致或兼容

   2  元素
       (1) 通常元素都有开始和结束标签,但也可以使用空标签,即<a></a>=<a/>
       (2) XML中标签嵌入顺序必须一致,且字符大小写敏感

       (3) 程序会将标签内的空白字符当作有效字符对待
 

   3  属性(附加信息的描述)
       (1) 当一个事务必须与对象绑定在一起,没有该对象,该事务就没有意义,此时该事务就应成为对象的属性。

                 


       (2) 一个XML元素可以包含字母、数字及其他的一些可见字符,但必须遵守以下规范:

                · 区分大小写,例如,<P>和<p>是两个不同的标签

                · 不能以数字或"_"(下划线)开头

                · 不能以xml(或XML、或Xml等)开头

                · 不能包含空格

                · 名称中间不能包含冒号

                · 可以使用中文字符

   4 CDATA区 、特殊字符
      (1)Character Data(字符数据区/段)
      (2)CDATA段中的数据不会被XML解析器所解析
      (3)不能嵌套使用
      (4)XML内置5种转义字符

             

             lt:less than 的缩写

            gt:greater than 的缩写
      (5) 其它字符:在电脑的附件 -> 系统工具 -> 字符映射表中可以找到相应的符号,然后"&#x"+对应的符号编码就可以在页面显示出相应的符号
             &#x2605;

     (6) 处理指令(processing instruction),简称PI。处理指令用来指挥XML解析引擎如何解析XML文档内容
          1)  可以使用CSS装饰XML文件中的内容
          2)CSS目前版本只能支持英文标签

              

二、XML约束

        1、XML DTD(Document Type Definition),全称为文档类型定义(扩展名.dtd)。

             1)DTD是XML文件的约束 
             2)浏览器对XML和DTD进行语法的检测,但是浏览器不会检测XML是否符合DTD规则
             3)  XML引用DTD有二种方式:
                      a) SYSTEM:个人或组织,小范围内使用
                      b) PUBLIC:大范围内使用,例如:struts框架。。。

            XML文件:

                       

             DTD文件:

                      

            也可以两个文件写一块,但是这样的弊端就是两个文件耦合了

                       
             4) EMPTY:用于定义空元素
                 ANY:表示元素内容为任意内容
                 项目中尽量使用EMPTY少用ANY
            5) 在DTD中,必须将所有的标签全部都声明完才行
            6) 在DTD中,定义元素时,可以使用如下符号:
                   a) 用逗号分隔,表示内容的出现顺序必须与声明时一致。
                   b) 用|分隔,表示任选其一,即多个只能出现一个
                   c)+ :有且只能出现1次或N次
                   d)* :有且只能出现0次或N次
                   e)? :有且只能出现0次或1次
                    f)无:有且只能出现1次
   
             7) DTD属性的设置值情况有四种:
                    a) #REQURIED:该属性必须出现
                    b) #IMPLIED:该属性可有可无
                    c) #FIXED "固定值":该属性可有可无,如果有的话,必须是"固定值"
                    d) "默认值":该属性可有可无,如果没有的话,用默认值补充,如果有的话,用新值替代旧值

                         

              8) 常见的属性值类型

                  CDATA:表示属性值为普通文本字符串。注意这里是用在属性上,而如果是用在元素上是用"#CDATA"
                  ENUMERATED :在 XML 文件中设置的属性值只能是这个列表中的某个值(枚举)(这里不是关键字)

                                             

                  ID:唯一标识符。只能由字母,下划线开始,不能出现空白字符[ 第 7) 点图中就有ID属性]
                  ENTITY(实体):实体可分为两种类型:引用实体和参数实体。实体用于为一段内容创建一个别名,以后在XML文档中就可以使用别名引用这段内容了。

                                             在DTD定义中,一条<!ENTITY …>语句用于定义一个实体。引用实体主要在 XML 文档中被应用
                                             语法格式:<!ENTITY 实体名称 “实体内容” >:直接转变成实体内容
                                             引用方式:&实体名称; 
                                             举例:<!ENTITY copyright “I am a programmer"> 
                                                                   ……
                                                                  &copyright;

                                             

                                         参数实体被 DTD 文件自身使用
                                         语法格式: <!ENTITY % 实体名称 "实体内容" >
                                         引用方式:%实体名称; 需要使用外部实体。
                                         举例1:<!ENTITY % TAG_NAMES "姓名 | EMAIL | 电话 | 地址">
                                                       <!ELEMENT 个人信息 (%TAG_NAMES; | 生日)>
                                                       <!ELEMENT 客户信息 (%TAG_NAMES; | 公司名)>
                                         举例2:<!ENTITY % common.attributes  " id ID #IMPLIED   account CDATA #REQUIRED ">
                                                         ...
                                                      <!ATTLIST purchaseOrder %common.attributes;>
                                                      <!ATTLIST item %common.attributes;>

2、XML Schema(扩展名.xsd)

转载于:https://my.oschina.net/weslie/blog/471976

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值