私はsparql-results XMLファイルを持っています。私はRD4J-Rest APIから入手します。私はメモ帳++でファイルを開くと、予想通り、それは次のとおりです(サンプル)xslは空白を追加しますか?
<result>
<binding name='ilAbk'>
<literal>[A_2mim]Ll</literal>
</binding>
</result>
今、私は、出力をフォーマットする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