Webkitは、XSLTを処理しているときに空白で特にうまく動作しないようです。 substring-after('test string',' ')
がstring
を返す点まで、改行、復帰、タブ、スペースを均等に扱うようです。Webkitのjavascriptで空白を正しく処理する方法はありますか?
正常に動作する方法はありますか、これは回避策がないWebkitのバグですか?
編集:ここではエラーを示し、いくつかのjavascriptだ:
var parser = new DOMParser();
var xsltText = "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"version=\"1.0\"><xsl:template match=\"test\"><output><xsl:value-of select=\"string-length(substring-after(., ' '))\"/></output></xsl:template></xsl:stylesheet>";
var xslt = parser.parseFromString(xsltText, "text/xml");
var xmlText = "<test>test string</test>";
var xml = parser.parseFromString(xmlText, "text/xml");
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslt);
var processed = xsltProcessor.transformToDocument(xml);
var result = processed.firstChild.textContent;
result
変数は明らかに '0' を含める必要があります。 Safari 4とChrome 8では「6」を返します。
これはWebKitバグとしてhttps://bugs.webkit.org/show_bug.cgi?id=53375で報告されており、バグレポートはこのStackOverflow質問を参照しています。 –