麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > XML > 正文

使用XSLT將XML數(shù)據(jù)轉換成HTML

2024-09-05 20:54:04
字體:
來源:轉載
供稿:網(wǎng)友

使用一個簡單的 XSL 樣式表就可以將 XML 數(shù)據(jù)轉換成 HTML。隨著 XML 規(guī)范的不斷演進,在新的版本中滿足每個人的需要似乎已經(jīng)成為必要;不幸的是,進行簡單的轉換一直都困擾著規(guī)范。

假設我有一個表示一個頁面內容的 XML 數(shù)據(jù),現(xiàn)在我想將其內容轉換成布局。下面是我想要轉換的 XML:

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="article.xsl"?>
<xml>
<folders>
<folder>
<text>Folder 1</text>
<files>
<file>
<text>File 1</text>
<fields>
<field>
<data>
<type>string</type>
<length>50</length>
<value>some data</value>
</data>
</field>
</fields>
</file>
</files>
</folder>
</folders>
</xml>

這個內容表示一組文件夾、文件和域。每個文件夾包含文件,每個文件包含用于輸入數(shù)據(jù)的域。文件夾組中的每個文件夾都將表現(xiàn)為一個 TABLE 的第一行的一個 TR 元素和一個 TD 元素。文件組中的每個文件都將表示為嵌套在文件夾 TR 元素中的一個 TABLE 元素的第一行的一個 TR 元素和一個 TD 元素。域組中的每個域都將在相關的文件中表現(xiàn)為一個 INPUT。

為了實現(xiàn)這一想法,我們需要將遍歷 XML 然后根據(jù)XSL 構建一個表。

下面是用于這個轉換的 XSL:

<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:fn="http://www.mycompany.com/mynamespace">
<xsl:output method="html"/>

<msxsl:script language="JScript" implements-prefix="fn">
function getElementCount(nodelist, what) {
var rtrn = 0;
rtrn = nodelist[0].parentNode.selectNodes(what).length;
return (rtrn 1); //1 is added for filler TD
}
</msxsl:script>

<xsl:template match="/">

<TABLE CELLSPACING="0" CELLPADDING="0"
WIDTH="100%" BORDER="0" ID="tblRoot" NAME="tblRoot"
style="table-layout:fixed;">
<TR>
<xsl:for-each select="xml/folders/folder">
<xsl:element name="TD">
<xsl:attribute name="style">width:55px</xsl:attribute>
<xsl:value-of select="text"/>
</xsl:element>
</xsl:for-each>
<TD> </TD>
</TR>

<xsl:for-each select="xml/folders/folder">
<TR>
<xsl:element name="TD">
<xsl:attribute name="colspan">
<xsl:value-of select="fn:getElementCount(., 'folder')"/>
</xsl:attribute>

<TABLE CELLSPACING="0" CELLPADDING="0"
WIDTH="100%" BORDER="0" style="table-layout:fixed;">
<TR>
<xsl:for-each select="files/file">
<xsl:element name="TD">
<xsl:attribute name="style">width:55px;</xsl:attribute>
<xsl:value-of select="text"/>
</xsl:element>
</xsl:for-each>
<TD> </TD>
</TR>

<xsl:for-each select="files/file">
<TR>
<xsl:element name="TD">
<xsl:attribute name="colspan">
<xsl:value-of select="fn:getElementCount(., 'file')"/>
</xsl:attribute>

<xsl:for-each select="fields/field">
<xsl:element name="INPUT">
<xsl:attribute name="type">text</xsl:attribute>
<xsl:attribute name="maxlength">
<xsl:value-of select="data/length"/>
</xsl:attribute>
<xsl:attribute name="value">
&

共2頁上一頁12下一頁
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄色大片大毛片 | 成人免费在线观看视频 | 成年人黄色免费网站 | 久久久久久麻豆 | 亚洲精品午夜视频 | 97zyz成人免费视频 | 羞羞漫画无遮挡观看 | 午夜视频在线看 | 日韩视频一 | 国产日产精品久久久久快鸭 | 国产女厕一区二区三区在线视 | 欧美精品成人一区二区三区四区 | 午夜在线视频一区二区三区 | 精品国内视频 | 亚洲国产视频网 | 精品一区视频 | 久久免费视频7 | 免费观看国产精品视频 | 成人在线视频精品 | 国产理论视频在线观看 | 一级做a爱片性色毛片高清 日本一区二区在线看 | 亚洲天堂午夜 | 污片视频网站 | 免费观看黄色一级视频 | 日本网站在线播放 | 日韩av在线播放一区 | 免费网址黄 | 最新中文在线视频 | 久久精品超碰 | 在线免费观看毛片视频 | 超碰97人 | 久久国产精品久久久久久久久久 | 黄色特级片黄色特级片 | 羞羞的视频在线 | 一边吃奶一边摸下娇喘 | 免费看日产一区二区三区 | 91在线免费观看 | 久久精品视频亚洲 | 国产日韩免费观看 | 国产99久久精品 | 久久精品国产一区二区电影 |