一、文档规则
  、区分大小写。
  、属性值必须加引号(单引号、双引号都可以),一般情况下建议使用使用双引号。
  、所有标记必须有结束符号。
  、所有空标记必须关闭。
  、必须有且仅有一根元素。
  、解析空白字符时,会按照实际内容输出,不会缩略。
  、特殊字符处理:
  字符  替换字符
  <    &lt;
  >    &gt;
  &    &amp;
  "    &quto;
  '    &apos;
  、标记名称约定:
  [] 可以包含字母、数字、其他字符。
  []不能以数字和下划线开头。
  []不能以xml或者Xml之类的字符开头。
  []不能包含空格 二、xml声明
  xml声明标准语句:<?xml version="1.0" encoding="GB2312" standalone="yes"?>
  强调:
  、“<?xml” 中的"<?"和"xml"中间不能有空格。
  、”?>"之前可以有空格,也可以没有。
  、enconding和standalone是可选属性,encoding默认值是"UTF-8",standalone默认值是"no"。
  、常见的编码方式有:
  简体中文:GB2312
  繁体中文 :BIG5
  西欧字符:UTF-,UTF-
  、standalone表示文档是否附带DTD文件。 三、xml属性
  因为数据既可以存储在子元素中也可以存储在属性中,那么何时用属性,何时用子元素,没有固定规则,但是建议:元数据应该以属性的方式存储,而数据本身应该以元素的形式存储。
  使用属性会引发以下问题:
  、属性不能包含多个值(子元素可以)。
  、属性不容易扩展。
  、属性不能描述结构(子元素可以)。
  、属性很难通过DTD进行测试。 四、命名空间
  声明命名空间俩种方式:
  、默认声明,所有元素不需要指定前缀,如:
  <schema xmlns="http://www.w3.org/2001/XMLschema">
  <element name="diguonianzhu" type="string"/>
  ……
  </schema>
  、明确声明,xmlns关键字与一个命名空间的URI的前缀相关联,所有元素都需要指定前缀,如:
  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLschema">
  <xsd:element name="diguonianzhu" type="string"/>
     ……
  <xsd:/schema>
  强调:用来表示命名空间的URI并不被XML解析器调用,实际上并不去访问这个URI,它只是表示一个标识名字而已。 五、XML专用标记:CDATA
  CDATA的全称是Character DATA,即字符数据,它主要用来显示特殊字符,比如"<"。
  CDATA的语法格式为:
  <![CDATA[要显示的字符]]> 如:
  <?xml version="1.0"?>
  <data>
    <![CDATA[
      <ok alma!> by a&b!
    ]]>
  </data>
  强调:CDATA不能嵌套;要显示的字符中不能包含"]]>"。

XML 之 语法详解的更多相关文章

  1. XML DTD语法详解

    XML DTD详解   XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...

  2. crossdomain.xml的配置详解

    目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...

  3. Thymeleaf3语法详解和实战

    Thymeleaf3语法详解 Thymeleaf是Spring boot推荐使用的模版引擎,除此之外常见的还有Freemarker和Jsp.Jsp应该是我们最早接触的模版引擎.而Freemarker工 ...

  4. Xpath语法详解

    1.简介 XPath是一门在XML和HTML文档中查找信息的语言,可以用来在XML和HTML文档中对元素和属性进行遍历 XPath的安装 Chrome插件XPath Helper 点Chrome浏览器 ...

  5. spring AspectJ切入点语法详解 记录以便查阅

    AspectJ切入点语法详解 6.5.1  Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spri ...

  6. spring AOP 之四:@AspectJ切入点标识符语法详解

    @AspectJ相关文章 <spring AOP 之二:@AspectJ注解的3种配置> <spring AOP 之三:使用@AspectJ定义切入点> <spring ...

  7. 史上最全的maven pom.xml文件教程详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. Velocity魔法堂系列二:VTL语法详解

    一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...

  9. logback logback.xml常用配置详解(三)

    logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...

随机推荐

  1. MVC webuploader 图片

    AARTO:SaveNoticeAndDocument ~/Scripts/Upload/webuploader-0.1.4/dist/webuploader.js

  2. bootstrap如何设置每一个选项卡对应一个页面

    bootstrap选项卡如果直接在每一个选项div中直接插入页面,可以使用<object type="text/html" data="test.html" ...

  3. boost::program_options 解析命令行参数

    源码: #include <boost/program_options.hpp> namespace po = boost::program_options; int main(int a ...

  4. 关于MySQL连接Navicat Premium 12失败的解决方法

    出现问题的原因:MySQL8.0之后更换了加密方式,而这种加密方式客户端不支持 解决:更改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysq ...

  5. 「SCOI2010」幸运数字

    传送门 Luogu 解题思路 首先构造出所有的幸运数字. 然后考虑一个幸运数字会产生多少贡献. 对于一个数 \(x\),它在区间 \([l,r]\) 内的倍数的个数为 \(\lfloor \frac{ ...

  6. php 实现店铺装修3

    /** * @title 装修店铺 * @param plate_id 是 int 店铺装修样式ID * @param type 是 int 模板样式子板块类型(4-海景.6-二宫格.8-三宫格.9- ...

  7. C语言表结构(1)

    1.顺序表初始化实战: #include<stdio.h> #include<stdlib.h> #define OK 1 #define OVERFLOW 0 #define ...

  8. ios 获取当前系统时间

    1. NSDate + NSDateFormatter NSDate *date = [NSDate date]; NSDateFormatter *format = [[NSDateFormatte ...

  9. 7.3 Varnish VCL 常用函数

  10. 前端学习笔记系列一:6 一种新的css预编译器stylus

    stylus是 CSS 的预处理框架.CSS 预处理,顾名思义,预先处理 CSS.那 stylus 咋预先处理呢?stylus 给 CSS 添加了可编程的特性,也就是说,在 stylus 中可以使用变 ...