现在的位置: 首页 > 综合 > 正文

xml内容显示的4种方法

2012年08月01日 ⁄ 综合 ⁄ 共 3423字 ⁄ 字号 评论关闭

CSS(叠层样式表)和XSL(可扩展样式语言)都可以定义XML文件的显示.

如果一个XML文件仅仅用于交换信息,就无需考虑它的显示问题。编辑XML文件,我们仅仅需要关注文件的内容、信息的结构,至于它怎么显示,则交给CSS(叠层样式表)和XSL(可扩展样式语言)来完成。此外使用数据岛技术与javascript也能定制xml的内容显示,这就使得用户可以根据需要来定义数据的表现形式。

1)用css来显示xml

具体的语法如下:〈?xml-stylesheet href="URL"type="text/css"?〉其中,xml-stylesheet是关键字,表明引用样式表设定;href="URL"用来指定样式表所在的位置.

使用步骤:

a)       建立样式表档案.(*.css)

b)      css连接到xml文件。(使用上面的语法)

示例:http://www.leftworld.net/online/xml/xml_cn/xml_display.asp.htm

2)用xsl来表示xml

XSL是怎样工作的呢?XML文件在展开后是一种树状结构,称为原始树XSL处理器(现在只有IE5支持XSL,在IE5中的处理器叫:XSLStylesheetProcessor)从这个树状结构读取信息,根据XSL样式的指示对这个原始树进行排序、复制、过滤、删除、选择、运算等操作后产生另外一个结果树,然后在结果树中加入一些新的显示控制信息,如表格、其他文字、图形以及一些有关显示格式的信息。XSL处理器根据XSL样式表的指示读取XML文件中的信息,然后再重新组合后转换产生一个Well-FormedHTML文件。

XSL由三部分组成: XML文档转换(XML Document Transformation ,又叫XSLT,模式匹配语法( a pattern matching syntax ,又叫XPath), 格式话对象( a formatting object interpretationXSL FO)。

 

具体的语法如下:〈?xml-stylesheet href="URL"type="text/xsl"?〉其中,xml-stylesheet是关键字,表明引用样式表设定;href="URL"用来指定样式表所在的位置.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> xmlns:xsl="http://www.w3.org/TR/WD-xsl"这一句主要用来说明该XSL样式表是使用W3C所制定的XSL,设定值就是XSL规范所在的URL地址。

1.       xsl:stylesheet:作为XSL样式表中的根元素,在每个XSL文件中都必须有。

2.       xsl:template:指定XML文件中的特定标记来定义排版样式。

属性:language:指定使用哪种脚本语言。
match
:设定从XML文件中哪个标记开始来读取信息,如果值为“/”那么表示从XML文件的根元素开始读取信息。

3.xsl:value-of:从XML文件中的特定标记中将信息读出来。

属性:select:设定读取哪一个标记中的信息。
例:〈xsl:templateselect="title"〉:表示要从〈title〉标记中将信息读出来。

4.xsl:for-each:将排版样式应用到XML文件中相同的标记(类似于循环语句)。

属性:select:设定从哪一个标记中读取数据。
order-by
:在读取信息完成之后,设定依据什么标记来进行排序,值为某一特定标记,如在标记名前用“+”号表示是由大到小的排序,反之用“-”号。

5.xsl:comment:在此元素中的内容,XSL将它作为注释信息,并不显示在浏览器中。

6.xsl:apply-templates:指示XSL处理器在该XSL样式表中寻找合适的〈xsl:template〉中设定的样式来用。

7.xsl:copy:从XML文件中拷贝标记中的信息到输出的文件中。无属性。

8.xsl:if:与一般程序中的If...Then类似。

语法:

<xsl:if expr="script-expression" language="language-name" test="pattern">

属性:

expr ── 脚本语言表达式,计算结果为"""";如果结果为"",且通过test,则在输出中显示其中内容(可省略此项属性)。

language ── expr属性中表达式的脚本语言类型,其取值与HTML标记SCRIPTLANGUAGE属性的取值相同,缺省为"JScript"

test ──源数据测试条件。

9.xsl:choosexsl:whenxsl:otherwise:这三个元素是用来设定较为复杂的条件式,一般共同配合使用。其中xsl:whenscriptlanguagetest三种属性,与前面xsl:if中的属性含义是一样的。

10.xsl:attributexsl:element:可以在标记中附加一个属性名称或新建一个标记。XSL样式表不但可以引用HTML标记,而且也可以建立新的标记和属性,然后一起结合XML文件中的信息来显示。其中,xsl:attribute是在标记中新增一个属性,xsl:element是新建一个标记。它们有共同的属性。

示例:

使用步骤:

c)      建立xsl样式档案表

d)      xsl样式表连接到xml文件。(使用上面的语法)

3) xml数据岛技术

       xml所谓的数据岛就是在html网页中嵌入XML的一种技术。

使用步骤:

1 XML文档载入数据岛

<xml src="cd_catalog.xml" id="xmldso" async="false">

</xml>

使用上面示例代码,可以把cd_catalog.xml文件载入一个叫"xmldso"的数据岛中

 

2 XML数据绑定到HTML的表格元素中

XML数据绑定到table元素,需要在table属性添加一个资源属性,并且在span元素中添加字段属性: <span><div>元素都可以用来显示XML数据。

<table datasrc="#xmldso" width="100%" border="1">

<td><span datafld="YEAR"></span></td>

<span datasrc="#xmldso" datafld="YEAR"></span>

<div datasrc="#xmldso" datafld="YEAR"></div>

此外,ie5以上的浏览器也支持在html文本中加入xml数据格式,然后本地解析。有2种形式:

a)上面那种数据岛的本地数据形式。

Eg:

<xml id='ShareInfo'>

  <!-xml data --!

</xml>

<table datasrc="#ShareInfo" >

  <!-span, div元素,元素属性datafld 来获取数据--!>

</table>

 

b)xsl的遍历来获取数据

Eg:

<XML  id=mxhxsl>  
<?xml  version="1.0"?>  
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">  
<xsl:template  match="/">  

<table>
<tr>
       
<th onclick="sort('Type')"  style="cursor:hand" align="center">                                  
       
<xsl:element name="input">
              
<xsl:attribute name="type">button</xsl:attribute>
              
<xsl:attribute name="name">nameBut</xsl:attribute>
              
<xsl:attribute name="value">按纽中显示的值</xsl:attribute>
              
<xsl:attribute name="title">title</xsl:attribute>
       
</

抱歉!评论已关闭.