关于属性:
避免使用属性!
问题:
- 属性不能包含多个值(子元素可以)。
- 属性不容易扩展。
- 属性不能够描述结构(子元素可以)。
- 属性很难被程序代码处理。
- 属性值很难通过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/
本文探讨了XML的应用场景,包括如何正确使用属性、利用XSL和CSS进行文档展示,以及XML数据岛的概念。同时介绍了从数据库生成XML文档的方法。
784

被折叠的 条评论
为什么被折叠?



