关于属性:
避免使用属性!
问题:
- 属性不能包含多个值(子元素可以)。
- 属性不容易扩展。
- 属性不能够描述结构(子元素可以)。
- 属性很难被程序代码处理。
- 属性值很难通过DTD进行测试。
如果使用属性来存储数据,那么所编写的XML文档一定很难阅读和操作。尽量使用元素来描述数据,仅使用属性来描述那些与数据关系不大的额外信息。
属性规则的例外:
元数据(与数据有关的数据)应该以属性的方式存储,而数据本身应该以元素的形式存储。
About XSL:
使用XSL来显示XML文档
XSL是XML的可扩展样式单语言。
XSL (全称是:可扩展的样式单语言,the eXtensible Stylesheet Language)比CSS样式单功能要强大的多。XSL的一个主要的用途就是将XML文档转换成HTML格式的文件,然后再交付给浏览器,由浏览器显示转换的结果.
- <!-- 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文档么?
{...} {
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元素相互绑定。
< 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/