首页 > 代码库 > XML

XML

XML 指可扩展标记语言
XML 的设计宗旨是传输数据,而非显示数据

XML企业端应用
  存储和传输复杂的关系模型数据

  在软件系统中,作为配置文件使用

技术分享

 XML文件分为如下几部分内容:

   文档声明
  元素
  属性
  注释  
  CDATA区 、特殊字符
  处理指令(processing instruction)

 

 在编写XML文档时,需要先使用文档声明,声明XML文档的类型。最简单的声明语法:  

     <?xml version="1.0" ?>

  用encoding属性说明文档的字符编码:<?xml version="1.0" encoding="GB2312" ?>  
  用standalone属性说明文档是否独立:<?xml version="1.0" encoding="GB2312"  standalone="yes" ?>
  常见错误
    没有写引号:<?xml version=1.0 ?>
    输入内容中有中文: <?xml version=“1.0” ?>  //中文空格
    编码错误,记事本设置编码UTF-8,用其他编辑器打开。


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

  |-区分大小写,例如,<P>和<p>是两个不同的标记。
  |-不能以数字或"_" (下划线)开头。
  |-不能以xml(或XML、或Xml 等)开头。
  |-不能包含空格。
  |-名称中间不能包含冒号(:)。

 

属性

  |-一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:
      |-  <input type=“text”>
  |-属性值一定要用双引号(")或单引号(‘)引起来
  |-定义属性必须遵循与标签相同的命名规范
  |-多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:
          <input>
               <name>text</name>
          </input>

 注释

   Xml文件中的注释采用:“<!--注释-->” 格式

CDATA区

  在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理
  遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
  语法:<![CDATA[ 内容 ]]>
      <![CDATA[
          <itcast>
              <br/>
          </itcast>
      ]]>

处理指令

  处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

  例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。

        <?xml-stylesheet type="text/css" href="http://www.mamicode.com/1.css"?>

  处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。

XML约束

  在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。

  -常用的约束技术
    |-XML DTD

      |-<!DOCTYPE books SYSTEM "book.dtd">

       |-XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件
        关联方式
        使用内部DTD
        使用外部DTD
        使用公共DT

       在xml文件内部书写DTD规范
         格式<!DOCTYPE 书架 […具体规范内容…]>

       外部DTD:引用的文件在本地
          格式:<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
          例如: <!DOCTYPE books SYSTEM “book.dtd”>
          技术分享

        公共DTD:
          引用的文件是一个公共的文件
          格式:
            <!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
          例如:
            <!DOCTYPE web-app PUBLIC
                  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN“
                    "http://java.sun.com/dtd/web-app_2_3.dtd">

DTD约束语法细节

元素(ELEMENT)定义

    技术分享

    技术分享

属性(ATTLIST)定义 

   技术分享

    属性声明举例
      <!ATTLIST 商品
          类别 CDATA #REQUIRED
          颜色 CDATA #IMPLIED
      >

    技术分享

 

实体(ENTITY)定义

   实体是变量用于引用普通文本或特殊字符的快捷方式的变量。  实体:内部实体和外部实体内部  实体:引用实体和参数实体。

 

 

 

 

 

 

 

 

XML Schema

 

XML