XML语法大全(3)

2019-03-28 21:01

使用具有描述性的名字可以使人更易于理解。想像一下读到下面内容时你会遇到的困惑:

下面来总结一下XML的命名规则:

l XML名字不能以数字或标点符号开头; l XML名字不能包含空格;

l 如果不是表示命名空间,就不要在名字中包含冒号; l XML名字是区分大小写的。

下面将更详细地描述XML文档的内容。首先从可能出现在序言中的元素开始。

1.3.3 XML文档序言

XML文档的序言里包含了关于文档本身的元信息,而不是文档的内容。它可能包含XML声明、处理指令、注释以及嵌入的DTD或模式。

1.XML声明

XML文档通常都以一个XML声明开始,虽然这并不是必需的:

在XML文档中,包含一个声明是好的做法,因为它可以告诉应用程序或人随后的是一段XML内容。它还能向处理程序提供关于该文档的额外信息,比如它的字符编码类型。

如果在XML中包含声明,就必须将它置于文档的第一行。任何内容都不能放在XML声明前面,空格也不行。如果你不小心在声明前面放了一个空格,XML处理程序就将无法正确解析文档的内容,并且会产生错误消息。

XML声明中还可以包含一些属性,这些属性提供关于版本、编码以及文档是否独立的信息:

在本书的写作期间,XML的最新版本是1.1。然而,很多处理程序还不支持这个版本,所以最好还是坚持将版本声明为1.0以保持向后兼容。

声明中的encoding属性描述的是XML文档的字符集。如果没有包含encoding属性,则文档会被认为使用UTF-8编码。

声明中的standalone属性的值只能为yes或no。这个值表示要正确处理当前的文档是否还需要外部文件。

XML声明中的每个属性都是可选的,但是它们的顺序很重要。如果需要包含encoding属性,那它必须出现在version属性的后面。而standalone属性只能是声明中的最后一个属性。

2.处理指令

序言中还可包含处理指令(processing instruction,PI),它们将关于XML文档的信息传递给其他应用程序。XML处理程序并不处理PI,而是将它们原封不动地传递给应用程序。

PI以结束。它们通常会在序言中出现,虽然它们也可出现在XML文档内的其他地方。

注解 XML声明也以

下面的PI指定了一个到XSL样式表的引用:

PI中的第一项是一个名字,称为PI目标。上面的PI的名字是xml-stylesheet。以xml开头的名字被保留为XML专用PI的名字。这个PI还有一段文本字符type=\。虽然看起来像是两个属性,但是这段内容却并不是这么处理的。在第6章和第7章中还会有更多样式表PI的例子。

3.注释

注释几乎可以出现在XML文档的任何地方。上面的XML文档例子中在序言里包含了一段注释,所以我们在了解其他序言内容时也看一看注释。

XML注释看起来与XHTML注释一样。它们以结束:

注释并不影响XML文档的处理,通常是为了便于阅读和理解的。在添加注释时需要遵循以下规则:

l 注释里不能包含文本-->; l 注释不能包含于标签内部;

l 元素中的开始标签或结束标签不能被注释掉;

l 虽然大多数XML处理程序都会把注释传递给应用程序,但并不一定必须这么做。

4.DTD和XML模式

DTD和XML模式提供关于XML文档内的元素和属性如何出现的规则。也就是说,它们确定哪些元素和属性是有效的,哪些是必需的或可选的。

序言中可以包含关于XML文档的声明,也可以包含一个到外部DTD或模式的引用,或是两者都包括。第2章将详细介绍DTD和模式。

1.3.4 XML文档元素中的段

XML文档中的数据存储在文档元素或根元素内。这个元素包含文档中的所有其他的元素、属性、文本和CDATA,同时也可包含实体和注释。

1.元素

在XML文档中,元素有很多作用,它们

l 可以标记内容;

l 为它们标记的内容提供一些描述; l 为数据的顺序和相对重要性提供信息; l 展示数据之间的关系。

元素包括一个开始标签、一个结束标签和内容。内容可以是文本、子元素或是二者都有。元素的开始标签中也可包含属性。在元素内部可以放置注释。

在前面的例子中,可以看到元素的内部结构如下:

开始标签有一个id属性以及三个其他元素:、<format>和<genre>,其中每个元素都包含有文本。 </p><p>在前面说过,必须按照正确的顺序打开和关闭标签。下面的写法是错误的: </p><p> </p><p>一共有四类元素: </p><p>l 空元素; </p><p>l 仅含文本的元素; l 仅含子元素的元素; </p><p>l 含子元素、文本或混合元素的元素。 </p><p>第2章关于XML模式的内容将介绍区分这些不同类型的元素是多么重要。 </p><p>q 空元素 </p><p>如果元素中不包含任何文本,那么它就是个空元素,可以以两种方式书写。下列两段代码是完全相同的: </p><p> </p><p>第二行的标签使用一种省略的写法,即在结束标签的尖括号前面加上一个正斜杠。XHTML中<br/>标签也是空元素的一个例子。使用空元素写法可以减小文件的大小并使文档更清晰易读。 </p><p>q 仅含文本的元素 </p><p>有些元素仅含文本内容。从前面的例子中可以看到,<title>、<format>和<genre>都是仅含文本的元素: </p><p> </p><p>q 含其他元素的元素 </p><p>一个元素可以仅包含其他的元素。容器元素称为父(parent),被包含的元素称为子(child)。<DVD>元素就是一个包含子元素的元素: </p><p> </p><p>描述XML中的元素结构时经常使用族谱来作类比。 </p><p>q 混合元素 </p><p>混合元素既含有文本也含有子元素。上面DVD的例子并没有包含这种类型的元素。下面的代码片段显示了一个混合元素: </p><p> </p><p>综上所述,元素有以下条件: </p><p>l 元素必须含有开始标签和结束标签。在没有内容的情况下,才可以使用省略写法; l 标签名称必须符合XML命名规则; l 元素必须正确地嵌套。 </p><p>2.属性 </p><p>在XML文档中,提供信息的另一种方法就是在元素的开始标签中使用属性。属性通常为它们所修饰的元素提供额外的信息。一个元素中可以出现的属性的数量是没有限制的。 </p><p>属性由名称/值对组成,其中值是包含于单引号或双引号中的: </p><p> </p><p>属性为元素提供额外的信息: </p><p> </p><p>在这个例子中,数据Introduction to XML封装在<p>元素内部。此元素告诉Web浏览器另起一段显示信息。而style属性提供了如何显示数据的额外信息。这里是告诉浏览器将文本置中。 </p><p>属性的两种通常用法是转换信息格式和指定特定的格式或编码。例如,可以这样转换日期格式: </p><p></p> <br /> <p><script type="text/javascript">s("content-m");</script></p> </div> <div class="m-pages"><li><a>共8页: </a></li><li><a href='553821_2.html'>上一页</a></li><li><a href='553821.html'>1</a></li><li><a href='553821_2.html'>2</a></li><li class="thisclass"><a href='#'>3</a></li><li><a href='553821_4.html'>4</a></li><li><a href='553821_5.html'>5</a></li><li><a href='553821_6.html'>6</a></li><li><a href='553821_7.html'>7</a></li><li><a href='553821_8.html'>8</a></li><li><a href='553821_4.html'>下一页</a></li></div> <div class="down-word"> <div class="word-ico"></div> <div class="word-tit"> <span class="docx">XML语法大全(3).doc</span> <span>将本文的Word文档下载到电脑</span> <span>下载失败或者文档不完整,请联系客服人员解决! </span> </div> <div class="word-pic"><a href="javascript:;">下载这篇word文档</a></div> </div> </article> <div class="art-prenext"> <p>下一篇:<a href="/wenku/zonghe/553820.html">南开中学初2016届14-15学年(上)期末试题——物理</a></p> </div> <script type="text/javascript">s("like-m");</script> <div class="main-tab"><a class="on" href="javascript:;">相关阅读</a></div> <div class="tab-box"> <ul class="main-new on clearfix"> <li><a href="/wenku/zonghe/1263351.html" title="石油大学《化工原理二》2021期末考试答案">石油大学《化工原理二》2021期末考试答案</a></li> <li><a href="/wenku/zonghe/1157609.html" title="建筑节能检测习题集(84页)">建筑节能检测习题集(84页)</a></li> <li><a href="/wenku/zonghe/215568.html" title="高考物理(考点解读命题热点突破)专题06 机械">高考物理(考点解读命题热点突破)专题06 机械</a></li> <li><a href="/wenku/zonghe/215769.html" title="1 2014.10.23第一次财务会计理论与实务课堂笔">1 2014.10.23第一次财务会计理论与实务课堂笔</a></li> <li><a href="/wenku/zonghe/215778.html" title="通信资源管理系统介绍(GIS)">通信资源管理系统介绍(GIS)</a></li> <li><a href="/wenku/zonghe/215564.html" title="年产60万吨PTA项目环境影响报告书">年产60万吨PTA项目环境影响报告书</a></li> <li><a href="/wenku/zonghe/215563.html" title="2016小学生读书笔记范文">2016小学生读书笔记范文</a></li> <li><a href="/wenku/zonghe/215562.html" title="Dhlrwk谈中学生英语学习策略">Dhlrwk谈中学生英语学习策略</a></li> <li><a href="/wenku/zonghe/215560.html" title="数电课程设计报告 洗衣机自动控制电路">数电课程设计报告 洗衣机自动控制电路</a></li> <li><a href="/wenku/zonghe/215558.html" title="2018年最新 湖南省长沙市长郡中学2018届上学">2018年最新 湖南省长沙市长郡中学2018届上学</a></li> </ul> </div> <div class="main-tab"><a class="on" href="javascript:;">本类排行</a></div> <div class="tab-box"> <ul class="main-new on clearfix"> <li><a href="/wenku/zonghe/175782.html" title="云客服基础考试">云客服基础考试</a></li> <li><a href="/wenku/zonghe/158762.html" title="《红星照耀中国--》名著阅读练习题及答案">《红星照耀中国--》名著阅读练习题及答案</a></li> <li><a href="/wenku/zonghe/176003.html" title="红星照耀中国练习题及答案">红星照耀中国练习题及答案</a></li> <li><a href="/wenku/zonghe/171844.html" title="《红星照耀中国》练习题">《红星照耀中国》练习题</a></li> <li><a href="/wenku/zonghe/159778.html" title="人教部编版2018-2019学年八年级语文上册第一">人教部编版2018-2019学年八年级语文上册第一</a></li> <li><a href="/wenku/zonghe/183326.html" title="化工导论试题">化工导论试题</a></li> <li><a href="/wenku/zonghe/182252.html" title="八年级上册名著导读练习——《红星照耀中国》">八年级上册名著导读练习——《红星照耀中国》</a></li> <li><a href="/wenku/zonghe/162180.html" title="人教版语文八(上)名著导读《红星照耀中国》练">人教版语文八(上)名著导读《红星照耀中国》练</a></li> <li><a href="/wenku/zonghe/185266.html" title="2018年江苏省第八届就业创业知识竞赛题库(全7">2018年江苏省第八届就业创业知识竞赛题库(全7</a></li> <li><a href="/wenku/zonghe/168880.html" title="《红星照耀中国》导读及练习题附答案">《红星照耀中国》导读及练习题附答案</a></li> </ul> </div> </div> <footer class="footer"> <p class="bt-links"><a href="https://m.77cn.com.cn">手机版</a><span class="v-line">|</span><a href="https://www.77cn.com.cn">PC版</a><span class="v-line">|</span><a href="https://m.77cn.com.cn/fww">范文大全</a></p> <p>Copyright © 2019-2022 免费范文网 版权所有<br/> 声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。<br/>客服QQ: 邮箱:tiandhx2@hotmail.com<br/> <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">苏ICP备16052595号-18</a> </p> <div style="display:none;"> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6e245478384fea490ec3a2317ee103ab"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> <div class="theme-popover"> <div class="theme-poptit"> <a href="javascript:;" title="关闭" class="close">×</a> <b>注册会员免费下载</b>(下载后可以自由复制和排版) </div> <div class="theme-popbod dform"> <!--<p class="downtit">下载本文档需要支付 <i>7</i> 元</p>--> <!--<p class="chose"><span>支付方式:</span><span class="pay1"><img src="https://www.77cn.com.cn/img/wxpay.jpg" class="over"></span> <span class="pay2"><img src="https://www.77cn.com.cn/img/alipay.jpg"></span></p>--> <!--<div class="youke_pay">--> <!--<div class="wxpay"><a href="javascript:;">微信支付并下载</a></div>--> <!--<div class="alipay" style="display:none;"><a href="javascript:;">支付宝支付并下载</a>--> <!--</div>--> <!--</div>--> <p class='wxpay'><a href='https://www.77cn.com.cn/user/index.php'>马上注册会员</a></p> <p class="downtxt">注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。<br>微信: QQ:</p> </div> </div> <div class="theme-popover-mask"></div> <script> //menu $(".header .menu").on("click", function(){ $("body").append("<div class=\"mask-bg menu-mask-bg\"></div>"); $(".menu-slide").show(); $("html,body").css({height:$(window).innerHeight(), overflow:"hidden"}); setTimeout(function(){ $(".menu-slide").css({transform:"translateX(-50px)"}); },50) }); $("body").on("click", ".menu-mask-bg", function(){ $(".menu-slide").css({transform:"translateX(-100%)"}); $(".menu-mask-bg").remove(); $("html,body").removeAttr("style"); setTimeout(function(){ $(".menu-slide").hide(); },300) }); //search $(".header .search").click(function(){ if($(".search-box").is(":hidden")){ $(this).children("i").removeClass("search-icon").addClass("close-icon"); $(".search-box").fadeIn("fast"); }else{ $(this).children("i").removeClass("close-icon").addClass("search-icon"); $(".search-box").fadeOut("fast"); } }); //nav if($(".nav").length > 0) { var nav = new Swiper(".nav",{ slidesPerView: "auto" }); } </script> <script> $(".pay1 img").click(function () { $(".wxpay").css("display", "block"); $(".alipay").css("display", "none"); $(".pay1 img").addClass("over"); $(".pay2 img").removeClass("over"); }); $(".pay2 img").click(function () { $(".wxpay").css("display", "none"); $(".alipay").css("display", "block"); $(".pay1 img").removeClass("over"); $(".pay2 img").addClass("over"); }); </script> <script type="text/javascript"> jQuery(document).ready(function($) { $('.word-pic a').click(function(){ $('.theme-popover-mask').fadeIn(100); $('.theme-popover').slideDown(200); $(".vip-up").hide(); $(".vip-pay").hide(); var downid = '553821' $('.wxpay a').click(function(){ var payurl = 'https://www.77cn.com.cn/hupipay/payment_pay_tz.php?payway=wx&aid='; payurl = payurl.replace('payment', 'youke'); var gotourl = payurl + downid location.href = gotourl; }); $('.alipay a').click(function(){ var payurl = 'https://www.77cn.com.cn/hupipay/payment_pay_tz.php?payway=ali&aid='; payurl = payurl.replace('payment', 'youke'); var gotourl = payurl + downid location.href = gotourl; }); }) $('.theme-poptit .close').click(function(){ $('.theme-popover-mask').fadeOut(100); $('.theme-popover').slideUp(200); }) }) </script> <script src="/js/gobacktop.js" type="text/javascript"></script> </body> </html>