1

XML を IE ブラウザー用の HTML に解析する XSL ファイルを作成しています。ユーザーに表示しながら、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 で取得した実際の結果です。 ここに画像の説明を入力

それにもかかわらず、テーブル要素に次の出力を含める必要があります。

Here is a text detail:
 project
 ...
 repositories
   repository
     id my-internal-site id
     url http://myserver/repo url
   repository
 repositories
 ...
 project

貴重なご支援をいただき、ありがとうございます。

4

1 に答える 1

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>

&#xA0;もう 1 つのオプションは、反復テンプレートを使用してスペースと改行をs とsに変換することです<br/>が、これははるかに単純で、おそらく同じくらい優れています。

于 2013-07-27T04:15:03.847 に答える