Project

Profile

Help

Support #6021

Updated by Michael Kay 12 months ago

I am trying to combine the output of an XSLT transformation during tracing with the actual XSLT instructions. 

 I have implemented a TraceListener and a Writer. 

 However, the output XML that is send to the Writer is always "too late". 

 In this example, TraceListener's enter() is called with a NamespaceConstructor, but no namespace is actually written to the XML output at that moment. The namespace is written later during FixedElement. 

	 Am I doing something wrong? 

 ``` 
 ... 
 enter instruction 21:34 net.sf.saxon.expr.instruct.ForEach 2:54 
 enter instruction 22:52 net.sf.saxon.expr.instruct.NamespaceConstructor 3:45 << **NamespaceConstructor** 
 leave instruction 22:52 net.sf.saxon.expr.instruct.NamespaceConstructor 
 ... 
 enter instruction 102:69 net.sf.saxon.expr.instruct.FixedElement 5:107 
         [<?xml version="] 
         [1.0] 
         [" ] 
         [encoding="] 
         [UTF-8] 
         ["] 
         [?>] 
         [ 
 ] 
         [<] 
         [xsl:stylesheet] 
         [ ] 
         [xmlns:pre] 
         [=] 
         ["] 
         [http://www.ibm.com] << **Actual namespace in the XML output** . 
         ["] 
         [ 

 ``` 

Back