zoukankan      html  css  js  c++  java
  • 可扩展标记语言XML之二:XML语言格式规范、文档组成

    大家好,小乐又来了,好久不见!这次接着上次可扩展标记语言XML之一:XML概念,作用,示例,继续讲述XML。

     

    一、格式良好的 xml

    1、语法规范:

    1)、必须有 XML 文档声明:

    <?xml version="1.0"?> 
    <?xml version="1.0" encoding="UTF-8"?> 
    <?xml version="1.0" standalone="yes"?> 
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 

    说明:

    XML standalone 定义了外部定义的 DTD 文件的存在性. standalone element 有效值

    是 yes 和 no. 如下是一个例子:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> 
    <!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd"> 
    <s1>.........</s1> 

    值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. 值 yes 表

    示这个 XML 文档是自包含的(self-contained).

    注意文本文件保存时候默认的编码格式是ANSI,需用记事本把它手动改为UTF-8保存。

    2)、必须有且仅有一个根元素

    3)、严格区分大小写

    4)、属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属

    性只能出现一次

    5)、标记成对;

    6)、空标记关闭;

    7)、元素正确嵌套。

    2、元素命名规则

    1)、名称中可以包含字母、数字或者其他可见字符;

    2)、名称不能以数字开头;

    3)、不能以 XML/xml/Xml…开头;

    4)、名称中不能含空格;

    5)、名称中不能含冒号(注:冒号留给命名空间使用)

     

    3、实体

    实体叫 ENTITY,实体的作用是避免重复输入。作用相当于宏或者变量。

    1)内置的 5 种实体

    实体 符号

    < <

    > >

    & &

    " "

    ' '

    2)自定义实体

    <!DOCTYPE 根元素[ 
    <!--实体声明--> 
    <!ENTITY 实体名 "实体内容"> 
    ]> 
    使用已定义的实体&实体名; 
    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE sxt[ 
    <!--实体声明--> 
    <!ENTITY xm "明明"> 
    <!ENTITY gen "保密"> 
    ]>
    <sxt> 
    <teacher> 
    <name>明明</name> 
    <gender>保密</gender> 
    </teacher> 
    <!--引用实体的方法--> 
    <teacher> 
    <name>&xm;</name> 
    <gender>&gen;</gender> 
    </teacher> 
    </sxt> 

     

    4、文档类型声明

    文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明之后,包含所有实体声明

    <?xml version="1.0" encoding="utf-8"?> 
    <!DOCTYPE 根元素标记名[ 
    <!--实体声明--> 
    ]> 

     

    二、XML 文档组成

    1、构成

    所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:

    元素

    属性

    实体

    PCDATA

    CDATA

    CDATA 节(character data)

     

    2、CDATA

    用于把整段文本解释为纯字符数据而不是标记的情况。如包含大量的<、>、&、或者"

    字符。CDATA 节中的所有字符都会被当做元素字符数据的常量部分,而不是 XML 标记,

    可以输入除]]>外任意字符,不能嵌套。

    <![CDATA[ ...... ]]>

     

    3、PCDATA

    PCDATA 的意思是被解析的字符数据(parsed character data)。 可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。

    PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。

    文本中的标签会被当作标记来处理,而实体会被展开。

    不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、< 以及 >的内置实体来分别替换它们。

    关注乐字节,更多技术文章随时奉上

  • 相关阅读:
    红楼【建筑位置】
    红楼【人物关系】
    jenkins【shared-libraries】
    linux 安装mysql8.0 tar.xz
    MySQL 输入字符串对日期进行模糊查询
    解决kali linux 和 win10 双系统时间不一致问题
    linux idea桌面图标
    linux卸载openjdk11
    tar.xz解压
    pandas模块高性能使用方法总结
  • 原文地址:https://www.cnblogs.com/lotbyte/p/11379325.html
Copyright © 2011-2022 走看看