zoukankan      html  css  js  c++  java
  • XML基本语法


    1.SGML,XML,XHTML,HTML 概念与联系(主要参考维基百科)

    标准通用标记语言(Standard Generalized Markup Language,SGML)是现时常用的超文本格式的最高层次标准,是可以定义标记语言的元语言,甚至可以定义不必采用< >的常规方式。由于SGML的复杂,因而难以普及

    HTMLXML同样派生于SGML:XML可以被认为是SGML的一个子集,而HTML是SGML的一个应用。

    超文本标记语言英文HyperText Markup LanguageHTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言,HTML的标签(元素)是固定的.

    可扩展超文本标记语言(eXtensible HyperText Markup Language,XHTML),是一种标记语言,表现方式与超文本标记语言HTML)类似,不过语法上更加严格,HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的电脑来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。因此产生了由DTD定义规则,语法要求更加严格的XHTML。

    可扩展标记语言英语:eXtensible Markup Language,简称: XML):XML是从标准通用标记语言(SGML)中简化修改出来的

    W3C也发现到HTML的问题:

    • 不能解决所有解释数据的问题 - 像是影音档或化学公式、音乐符号等其他形态的内容。
    • 性能问题 - 需要下载整份文件,才能开始对文件做搜索。
    • 扩充性、弹性、易读性均不佳。

    为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述数据语言:XML

    XML应用:

    • 配置文档(Configuration Files)- 描述软件设置的参数

    2.XML语法:

       1:  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
       2:  <书架>
       3:  <>
       4:      <书名>JavaWeb</书名>
       5:      <作者 姓名="王五"/>
       6:      <售价>50元</售价>
       7:      <页面作者 个人爱好="上网" 网站职务="页面作者" 联系信息=""/>
       8:   </>
       9:  </书架>

    第一行:<?xml version="1.0" encoding="UTF-8" standalone="no"?>:

       a.<?xml 语法要求<,?,xml之间不能有空格, ?>之间不能有空格,standalone="no"?两者之间可以有一个或多个空格

       b.encoding=”utf-8”:那么解析器读到该属性,那么会以utf-8解码,如果不写呢?XML解析器通过寻找XML文档开始处的字节序列,能够自动检测出文档中的Unicode编码是UTF-8还是UTF-16.也就是说encoding属性的默认值是Unicode编码,如果文档是以UTF-8/UTF-16编码那么可以不设置该属性.

      c.standalone属性用于说明文档是否独立,该文档没有依赖外面的任何文件而可以单独存在(例如依赖dtd文件)->yes,否则no.standalone属性位于encoding属性之后

    针对b的编码,如果文档的编码为GB2312,就是windows记事本默认的编码(ANSI),这时encoding设置为GB2312/GBK(包含GB2312)

    解析器读到该属性知道需要以GB2312解码.

    例如:在记事本中书写xml文档后直接ctrl+s:

       1:  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
       2:  <书架>
       3:           <>
       4:         <你好></你好>
       5:          </>
       6:  </书架>

    在IE10中浏览,这时候看不到任何效果和提示,这时候F12,更改文档模式.

    IE11

    看到提示:文本内容中发现无效字符.原因:GB2312编码的文档以UTF-8解码,这时候只需要修改encoding=”GB2312”即可.

    1.XML元素命名规范:

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

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

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

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

    不能包含空格。

    名称中间不能包含冒号(:)

    2.XML的注释和HTML一样: <!--注释内容—>

    3.关于CDATA(character data)区:

    在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。

    遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出

    语法:<![CDATA[ 内容 ]]>:CDATA字母全部大写

    例如:

       1:  <?xml version="1.0" encoding="GBK" standalone="yes"?>
       2:  <![CDATA[
       3:          <itcast>
       4:              <br/>
       5:              &lt;
       6:          </itcast>
       7:      ]]>
       8:  <书架>
       9:  <>
      10:      <书名>JavaWeb</书名>
      11:      <作者 姓名="王五"/>
      12:      <售价>50元</售价>
      13:      <页面作者 个人爱好="上网" 网站职务="页面作者" 联系信息=""/>
      14:   </>
      15:  </书架>

    CDATA

    CDATA区不能在根元素(书架)的上面.

    换个位置:

       1:  <?xml version="1.0" encoding="GBK" standalone="yes"?>
       2:  <书架>
       3:  <![CDATA[
       4:    <br/>
       5:    &lt;
       6:  ]]>
       7:  <>
       8:      <书名>JavaWeb</书名>
       9:      <作者 姓名="王五"/>
      10:      <售价>50元</售价>
      11:      <页面作者 个人爱好="上网" 网站职务="页面作者" 联系信息=""/>
      12:   </>
      13:  </书架>

    CDATA2

  • 相关阅读:
    2010全球最值得模仿的230个网站 dodo
    IIS支持解析json dodo
    很好用的界面设计工具——Balsamiq dodo
    git本地分支目录和远程服务器的分支目录不一样的同步方法
    中新赛克——基于工业资产全息画像的工业互联网安全监测平台 规格严格
    解决redis requires ruby version 2.3.0[转载] 规格严格
    fpm包安装 规格严格
    git本地分支目录和远程服务器的分支目录不一样的同步方法[转】 规格严格
    MyBatis逆向工程generatorConfig配置文件的Table中generatedKey的作用[转载] 规格严格
    How to set character_set_database and collation_database to utf8 in my.ini 规格严格
  • 原文地址:https://www.cnblogs.com/yiqiu2324/p/3537643.html
Copyright © 2011-2022 走看看