2011-07-13 64 views
0
<xsl:for-each select="//detailoption | //systemnotes"> 
    <xsl:if test="normalize-space(@id)!=''">~</xsl:if> 
</xsl:for-each> 

此循環運行以進行短暫迭代。但是當迭代增加時,整個XSL無法轉換並拋出錯誤。XSL是否有任何範圍限制:VARIABLE

SystemId Unknown;行#0;列#0; java.lang.ArrayIndexOutOfBoundsException

XSL中的變量數據是否存在任何範圍限制?有沒有解決方案可以解決這個問題?

Xalan 2.7.0。有什麼方法可以找到它的更多細節。
我們目前的編碼是:

TransformerFactory factory = TransformerFactory.newInstance(); 
factory.setURIResolver(createURIResolver()); 
Templates template = factory.newTemplates(xslIn); 
Transformer xformer = template.newTransformer(); 
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); 
OutputStream hndWrite = byteStream; 
Result result = new javax.xml.transform.stream.StreamResult(hndWrite); 
xformer.transform(xmlIn, result) 
+0

什麼庫(和版本)您使用​​ ? Xalan的? –

+1

關於限制性問題,我認爲很重要,包括使用xslt處理器,xslt版本,環境等的詳細信息... –

+0

Xalan 2.7.0。有什麼方法可以找到它的更多細節。我們目前的編碼是TransformerFactory factory = TransformerFactory.newInstance(); \t \t \t factory.setURIResolver(createURIResolver()); \t \t \t模板template = factory.newTemplates(xslIn); \t \t \t Transformer xformer = template.newTransformer(); \t \t \t ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); \t \t \t OutputStream hndWrite = \t byteStream; \t \t \t結果結果= \t新的javax.xml.transform.stream.StreamResult(hndWrite); \t \t \t xformer.transform(xmlIn,result); – arvindwill

回答