事實證明,在處理XSLT時,webkit在處理空白時表現得不是很好。它似乎對待換行符,回車符,製表符和空格,甚至到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'。
這是在https://bugs.webkit.org/show_bug.cgi?id=53375上報告爲WebKit錯誤,並且錯誤報告引用了此StackOverflow問題。 – 2012-07-17 00:58:25