0
에 얻을 수있는 방법이 있나요 그리고 concat 내 자바 스크립트 함수로?XSL XSL에서 아래에 다음 줄을 찾기 요소를 포함에 대한 고유 ID를 생성하고 자바 스크립트
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를 생성하도록 보장하지 않습니다 d 또는 스타일 시트의 동일한 응용 프로그램에서 모든 입력 노드에 대해 생성합니까? 이 경우, 생성 된 ID에''CDTableCell ''접두어를 붙이려면 어떤 목적을 염두에 두어야합니까? –
ID를 의미있는 이름으로 지정하기 위해 접두사를 추가 한 유일한 이유는 그것이 무엇인지 명확하게하기 위해서입니다. 이론적으로 XSLT에 어떤 이유로'cd' 엘리먼트에 두 번째'xsl : for-each'가 있다면'generate-id()'는 동일한 ID를 생성합니다. –