XML学习

    技术2022-05-11  61

    关于属性

    避免使用属性!

    问题:

    属性不能包含多个值(子元素可以)。 属性不容易扩展。 属性不能够描述结构(子元素可以)。 属性很难被程序代码处理。 属性值很难通过DTD进行测试。

    如果使用属性来存储数据,那么所编写的XML文档一定很难阅读和操作。尽量使用元素来描述数据,仅使用属性来描述那些与数据关系不大的额外信息。

    属性规则的例外:

    元数据(与数据有关的数据)应该以属性的方式存储,而数据本身应该以元素的形式存储。

    About XSL: 

    使用XSL来显示XML文档

    XSL是XML的可扩展样式单语言。

    XSL (全称是:可扩展的样式单语言,the eXtensible Stylesheet Language)比CSS样式单功能要强大的多。XSL的一个主要的用途就是将XML文档转换成HTML格式的文件,然后再交付给浏览器,由浏览器显示转换的结果.

     

       <? xml version="1.0" encoding="ISO-8859-1"  ?>  -  <!--   Edited with XML Spy v4.2    -->  -  < html  xsl:version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform"  xmlns ="http://www.w3.org/TR/xhtml1/strict" > < body  style ="font-family:Arial,helvetica,sans-serif;font-size:12pt; background-color:#EEEEEE" > < xsl:for-each  select ="breakfast_menu/food" > < div  style ="background-color:teal;color:white;padding:4px" > < span  style ="font-weight:bold;color:white" >    < xsl:value-of  select ="name"   />     </ span >   -    < xsl:value-of  select ="price"   />     </ div > < div  style ="margin-left:20px;margin-bottom:1em;font-size:10pt" >    < xsl:value-of  select ="description"   />  -  < span  style ="font-style:italic" >   (    < xsl:value-of  select ="calories"   />    calories per serving)    </ span >    </ div >    </ xsl:for-each >    </ body >    </ html >

     

    About CSS: 

    使用CSS样式单 (Cascading Style Sheets) ,可以给XML文档添加额外的现实信息。

    使用CSS来显示未来的XML文档么?

     

    CATALOG {background-color: #ffffff;width: 100%;} CD {display: block;margin-bottom: 30pt;margin-left: 0;} TITLE {color: #FF0000;font-size: 20pt;} ARTIST {color: #0000FF;font-size: 20pt;} COUNTRY,PRICE,YEAR,COMPANY {Display: block;color: #000000;margin-left: 20pt;}

    即使使用CSS的显示效果很好,我们不认为使用CSS样式单显示XML文档是未来Web开发的趋势。我们相信,使用XSL程序格式化XML文档将会是未来的趋势,目前最主要的浏览器都支持这种技术。

     数据岛:

    数据绑定

    XML数据岛可以绑定到HTML元素上(比如表格)。

    在下面的例子中,一个XML数据岛(ID=cdcat)被从外部XML文档载入。一个HTML的表格绑定到此数据岛上。HTML表格内部的span元素使用datafld属性和XML文档相应的XML元素相互绑定。

    < html >< br >    < body >< br >    < xml  id ="cdcat"  src ="cd_catalog.xml"  tppabs ="http://www.w3schools.com/xml/cd_catalog.xml" ></ xml >< br >    < table  border ="1"  datasrc ="#cdcat" >< br >    < tr >< br >    < td >< span  datafld ="ARTIST" ></ span ></ td >< br >    < td >< span  datafld ="COMPANY" ></ span ></ td >< br >    </ tr >< br >    </ table >< br >    </ body >< br >    </ html >

    同样也可以实验 采用元素<thead>, <tbody>, and <tfoot>.

    About 编码:

    结论:在保存XML文档之前在XML文档的声明中设置文档的编码格式,我的一些关于避免错误发生的建议:

    使用一种支持Unicode编码格式的编辑器。 确信你知道自己正在使用那种编码格式。 在XML文档中使用属性声明设置编码格式。 

    应用XML:

    可以从数据库中产生XML文档

    不用安装任何XML软件就可以从数据库中动态的导出XML文档。

    推荐一个很好的学习XML的地方http://www.w3pop.com/tech/school/xpath/


    最新回复(0)