0
にそれを取得する方法がありますそれを私のjavascript関数に連結しますか?XSL XSL中の下に次の行を見つけ元素を含有するためのユニークなIDを生成し、JavaScriptの
XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td style="background-color: 'can_be_any_color_here'">
<xsl:value-of select="title"/>
<script>
var tdElem = document.getElementById('???') <!-- Would like to get td here, if possible -->
var bgColor = tdElem.style.backgroundColor;
var textColor = mycolorcontrastfx(bgcolor);
tdElem.style.color = textColor;
</script>
</td>
<td>
<xsl:value-of select="artist"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XML
<?xml-stylesheet type="text/xsl" href="blackorwhite.xslt"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
</cd>
<cd>
<title>Hide your heart</title>
</cd>
</catalog>
'generate-id()'は、各引数ノードのIDを生成することを保証しません。スタイルシートの同じアプリケーションの間に任意の入力ノードに対して生成するでしょうか?その場合、生成されたIDの先頭に '' CDTableCell''を付けると、どのような目的がありますか? –
私はidを意味のある名前にするために接頭辞を追加した唯一の理由は、それがどんなものかを明確にするためです。しかし理論的には、何らかの理由でXSLTに 'cds '要素の2番目の' xsl:for-each'があった場合、 'generate-id()'は同じIDを生成します。 –