0

私はxmlファイルに以下のタグを持っています:

<more_details>
    <source>192.168.1.1</source>
    <destination>10.10.10.10</destination>
    <vlan>192.168.0.0/24</vlan>
    <date>29/3/1391</date>
    <count>24</count>
</more_details>

xslを使用してツールチップでテーブルを設計したい;(マウスがページ内の特定のリンクに移動すると、テーブル内のデータを表します。データはxmlファイルから取得されます)

この目標を達成するために、xslファイルに以下の行を書き込みます。

<a href="">
    <xsl:attribute name="title"><table style='color:#efefef; background:none !important;'>
    <tr>
        <td><xsl:value-of select="source"/></xsl:value-of><td>
        <td><xsl:value-of select="destination"/></xsl:value-of></td>
        <td><xsl:value-of select="vlan"/></xsl:value-of></td>
        <td><xsl:value-of select="date"/></xsl:value-of></td>
        <td><xsl:value-of select="count"/></xsl:value-of></td>
    </tr>
    </table></xsl:attribute>
    more details
</a>

htmlファイルでは機能しますが、xslファイルでは機能しません。XSLはすべてのhtmlタグを自動的に削除します。

このような:

<a href="" title="192.168.2.1125.45.24.5192.168.0.0/2429/2/1390 - 12:1424">
  link
</a>

これは、マウスが「詳細」という単語の上に移動すると、ツールチップに表示される結果が次のようになることを意味します。

192.168.2.1125.45.24.5192.168.0.0/2429/2/1390 - 12:1424

上記の各タグを表の1列に表示したいと思います。(構造化される)しかし、プログラムを実行すると、構造化された形式ではない(テーブルにない)データが表示されます

私は2番目の方法も調べます:

<a href="">
  <xsl:attribute name="title">&lt;table style='color:#efefef; background:none !important;'>
    <tr>
      <td><xsl:value-of select="source"/>&lt;/td>
      <td><xsl:value-of select="destination"/>&lt;/td>
      <td><xsl:value-of select="vlan"/>&lt;/td>
      <td><xsl:value-of select="date"/>&lt;/td>
      <td><xsl:value-of select="count"/>&lt;/td>
    </tr>
  </table></xsl:attribute>
    more details
</a>

そしてそれも機能しません。この2番目の方法の結果は次のとおりです。

私は本当にあなたの助けが必要です、そしてどんな答えも本当にありがたいです。どうもありがとう

4

1 に答える 1

1

titleHTML属性にテーブルを含めることはできません。それは不可能です、試してみてください。

あなたができること:

  1. カスタムツールチップを生成するために利用可能なJavaScriptライブラリの1つを使用します。たとえば、jQueryにはそのためのプラグインがありますが、他にもたくさんあります。これらのライブラリは、マウスオーバーであらゆる種類のHTMLを表示できるため、テーブルは問題になりません。
  2. 属性に改行を追加するだけです。ほとんどのブラウザは、属性の改行をサポートし、titleそれらを画面に表示します。テーブルほどきれいではありませんが、十分かもしれません。

2番目のオプションについてのみ詳しく説明します。1つ目は、この質問の範囲外です。

<a href="">
  <xsl:attribute name="title">
     <xsl:value-of select="concat('Source: ', source, '&#10;')" />
     <xsl:value-of select="concat('Destination: ', destination, '&#10;')" />
     <xsl:value-of select="concat('VLAN: ', source, '&#10;')" />
     <xsl:value-of select="concat('Date: ', date, '&#10;')" />
     <xsl:value-of select="concat('Count: ', count)" />
  </xsl:attribute>
  <xsl:text>more details</xsl:text>
</a>
于 2012-08-14T11:59:24.280 に答える