XML形式のデータがあります。例: _
<?xml version="1.0"?>
<TableSizes>
<Table name="AuditLog" rows="13193925" reserved="4896864" data="2522592" indexSize="2373824" unused="448"/>
<Table name="Customers" rows="7021839" reserved="3243392" data="1480640" indexSize="1762640" unused="112"/>
</TableSizes>
そのデータをクライアントで変換して表示したいと考えています。したがって、ユーザー エージェントに xml をフィードするときは、スタイルシートを提供します。
<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl' href='databaseSize.xslt' media='all'?>
<TableSizes>
<Table name="AuditLog" rows="13193925" reserved="4896864" data="2522592" indexSize="2373824" unused="448"/>
<Table name="Customers" rows="7021839" reserved="3243392" data="1480640" indexSize="1762640" unused="112"/>
</TableSizes>
これにより、適切な HTML に変換されます。そして、それは十分に機能します。
しかし今、私はData Barsを追加したい:
現在、私はサーバー上で HTML を生成しています (つまり、サーバーはスタイルシートではなく、コンテンツを表示する方法を決定しています)。
各テーブル セルにbackground
、計算されたグラデーション ストップを使用して、カスタム スタイルを適用する必要があります。
<TR>
<TD>AuditLog
<TD style="background: linear-gradient(to right, #658FC6 0%,rgb(255,255,255) 100%,rgb(255,255,255) 100%)">1319,,3925
<TD style="background: linear-gradient(to right, #FF595E 0%,rgb(255,255,255) 100%,rgb(255,255,255) 100%)">489,,6864
<TD>252,,2592
<TD>237,,3824
<TD>448
</TR>
<TR>
<TD>Customers
<TD style="background: linear-gradient(to right, #658FC6 0%,rgb(255,255,255) 51%,rgb(255,255,255) 100%)">702,,1839
<TD style="background: linear-gradient(to right, #FF595E 0%,rgb(255,255,255) 62%,rgb(255,255,255) 100%)">324,,3392
<TD>148,,0640
<TD>176,,2640
<TD>112
</TR>
明らかに、サーバー上で行うのではなく、スタイルシートによってクライアントでこれらすべてを実行したいのです。
可能?
注: そうでない場合: 問題ありません。そう言ってください。
これまでにどのような XSLT を持っていますか?
基本的に、なし。これまでのところ、XST はデータ バーを追加するために何もしません。
<TD><xsl:value-of select="@name"/>
<TD><xsl:value-of select="@rows"/>
<TD><xsl:value-of select="@reserved"/>
<TD><xsl:value-of select="@data"/>
<TD><xsl:value-of select="@indexSize"/>
<TD><xsl:value-of select="@unused"/>
私はダミー量のグラデーション描画コードを追加しました:
<TD><xsl:value-of select="@name"/>
<TD style='background: linear-gradient(to right, #FF595E 0%,rgb(255,255,255) 50%,rgb(255,255,255) 100%)'><xsl:value-of select="@rows"/>
<TD style='background: linear-gradient(to right, #FF595E 0%,rgb(255,255,255) 50%,rgb(255,255,255) 100%)'><xsl:value-of select="@reserved"/>
<TD><xsl:value-of select="@data"/>
<TD><xsl:value-of select="@indexSize"/>
<TD><xsl:value-of select="@unused"/>
厳密に言えば、私はその XSLT さえ持っていません。私が望むものを達成できないとき、私は XSLT 全体を書きたくありませんでした。上記の XSLT は、少なくとも最初に XSLT を持っているふりをするまで、質問に答えることはできないと誰かが示唆したときに、オンザフライで作成しました。