我正在编写一个XSL文件,它将XML解析为HTML浏览器的HTML。我想知道如何在浏览器中保留XML数据布局,同时向用户显示。
例如,作为XML文件,
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type='text/xsl' href='myXSL.xsl'?>
<LISTS>
<SCR>repository</SCR>
<Dependency><ArtifactId>maven</ArtifactId>
<GroupId>NO</GroupId>
<!--Display a little later into browser the detail node value as in below-->
<detail1>
Here is a text detail 1:
project
...
repositories
repository
id my-internal-site id
url http://myserver/repo url
repository
repositories
...
project
</detail1>
<detail2> Here is a text detail 2:
</detail2>
</Dependency>
...
</LISTS>
我的xsl下面的代码段显示了当前节点detail1 / detail2的值。但我需要将输出写在我的XML文件中
<table width="100%" id="tb">
<tr><td><xsl:value-of select="detail1"/>
</td><td><xsl:value-of select="detail2"/></td></tr>
</table>
这是我用xsl得到的实际结果:
尽管如此,我需要将这个输出放入table元素中:
Here is a text detail:
project
...
repositories
repository
id my-internal-site id
url http://myserver/repo url
repository
repositories
...
project
先谢谢您的宝贵帮助。
答案 0 :(得分:0)
嗯,问题是HTML通常会将所有空格视为单个空格。如何使用<pre>
元素?
<table width="100%" id="tb">
<tr>
<td><pre><xsl:value-of select="detail1"/></pre></td>
<td><xsl:value-of select="detail2"/></td>
</tr>
</table>
另一个选择是使用迭代模板将空格和换行符转换为 
和<br/>
s,但这更简单,也可能更好。