sparql-results XML 파일이 있습니다. 나는 RD4J-Rest API에서 가져옵니다. 내가 메모장 ++에서 파일을 열 때 예상대로 : (샘플) 이제xsl이 빈 공간을 추가합니까?
<result>
<binding name='ilAbk'>
<literal>[A_2mim]Ll</literal>
</binding>
</result>
I 출력 포맷하는 XSL 템플릿을 사용하고 있습니다 :
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:res="http://www.w3.org/2005/sparql-results#">
<xsl:output method="xml" encoding="UTF-8" />
<xsl:template name="vb-result">
<table id="main">
<xsl:for-each select="res:results/res:result">
<tr id="{generate-id()}">
<xsl:apply-templates select="."/>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template match="res:result">
<xsl:variable name="current" select="."/>
<xsl:for-each select="/res:sparql/res:head/res:variable">
<xsl:variable name="name" select="@name"/>
<td>
<xsl:apply-templates select="$current/res:binding[@name=$name]"/>
</td>
</xsl:for-each>
</xsl:template>
<xsl:template match="res:sparql">
<xsl:call-template name="vb-result" />
</xsl:template>
</xsl:stylesheet>
최종 표 [A_2mim]Ll
에서을 동일한 문자 count (9)를가집니다. 하지만 JavaScript로 액세스하여 콘솔에 표시하면 10 개의 빈 문자가 추가로 생깁니다. 다음은 JavaScript 부분입니다.
function addRowHandlers() {
var table = document.getElementById("main");
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
var currentRow = table.rows[i];
var createClickHandler =
function(row)
{
return function() {
var cell = row.getElementsByTagName("td")[0];
var text = cell.innerHTML;
var rid = row.getAttribute("id");
console.log(text.length);
};
};
currentRow.onclick = createClickHandler(currentRow);
}
}
이 이름을 다음 쿼리에 사용하고 싶기 때문에 이러한 문자를 제거해야합니다. 나는 그것을자를 수 있음을 알고 있지만, 누군가가이 등장 인물이 어디에서 왔는지 생각할 수 있는지 궁금해하고있었습니다. 콘솔에서 이상하게 보입니다. 그래서 내가 .length
으로 확인한 것입니다.
감사합니다.
'
죄송합니다. 질문에 실수했습니다. 나는 10 개의 추가 공백을 얻는다. 그러나 나는 당신의 의견을 시도했다. _cell.innerHTML_을 _cell.textContent_으로 변경했지만 여전히 19자를 가지고 있습니다. – MisterT