我已經創建了一個HTML頁面,它的工作原理是在div中包含div。但是,當我使用相同的HTML通過XSLT處理一些XML時,它將一個div放在另一個之上,任何人都可以想到它爲什麼在XML/XSLT中這樣做?XSLT中包裹的DIV
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
>
<!-- Doctype - about:legacy-compat is XML equivalent of HTML5 doctype -->
<xsl:output method="html" indent="yes"
omit-xml-declaration="yes"
doctype-public="about:legacy-compat"
/>
<xsl:template name="Document" match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>BPD</title>
<link type="text/css" rel="stylesheet" href="big_picture_documentation_v3.css"/>
</head>
<body>
<div id="container">
<div id="floated">
<p>WRAP AROUND ME!</p>
</div>
<xsl:apply-templates/>
</div>
</body>
</html>
</xsl:template>
<xsl:template name="Title" match="title">
<h1>
<xsl:apply-templates/>
</h1>
</xsl:template>
<xsl:template name="subheading" match="subheading">
<h2>
<xsl:apply-templates/>
</h2>
</xsl:template>
</xsl:stylesheet>
格式化這些div的CSS可以如下圖所示:
#container { margin: 5px;padding: 5px;border: 0px solid black;}
#floated { width: 227x;float: left;padding-right: 5px;padding-bottom: 10px;}
示例XML:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="v3.xsl" ?>
<document xmlns:xhtml="http://www.w3.org/1999/xhtml">
<data id="HowToUse" type="example" status="Complete">
<content>
<title>How To Navigate This Guide</title>
<subheading>Using This Documentation</subheading>
</content>
</data>
</document>
什麼是您正在轉換的xml? – Treemonkey 2012-04-23 09:19:33
更新XML – 2012-04-23 09:37:22
的例子我沒有完全理解你的問題在這裏......這可能是因爲xslt存在問題,它試圖輸出一個空節點。以查看這是否是問題在標題標籤之間的兩個應用模板部分之後添加一些隨機文本。 – Treemonkey 2012-04-23 10:08:31