Hello again!
I think I was wrong, unbalanced tags do not seem to cause it. Here is sample
input XML for my transformer:
<rowset xmlns="http://www.vishay.com/rowspan/1.0">
<row>
<P1000>abc</P1000>
<P1001>def</P1001>
<T8400>
<img src="small.jpg">img</img>
<br>br</br>
<a href="javascript:void(0)"
onClick="foo(42)">Enlarge</a>
</T8400>
The elements inside T8400 (img, br, a) do not trigger endTransformingElement()
but they do trigger startTransformingElement(). And again: This is only a
problem if the input XML is coming from another Cocoon processing step. It is
not a problem if the input XML is read from file system (with FileGenerator).
This is actually the most confusing part for me.
If input comes from a file, they do generate the end events.
Any pointers for me?
Thanks,
Alexander
From: Lochschmied, Alexander
Sent: Donnerstag, 19. November 2009 14:23
To: '[email protected]'
Subject: RE: Unbalanced tags not triggering endTransformingElement in
Transformer
To avoid confusion, please swap the pattern values of my example; "OK" should
be "NOT_OK" and vice versa.
Let me call <br/> "unbalanced" element as opposed to <br></br>.
I'm extending AbstractSAXTransformer and noticed that unbalanced elements do
not trigger endTransformingElement(...) if the source (or generator) is
cocoon:/something.
Example:
1. Unbalanced tags do NOT trigger endTransformingElement(...)
<map:match pattern="NOT_OK">
<map:generate src="cocoon:/something"/>
<map:transform type="custom-transformer"/>
<map:serialize type="xml"/>
</map:match>
2. Unbalanced tags do trigger endTransformingElement(...)
<map:match pattern="OK">
<map:generate src="same_something_as_above_but_now_as_a_file.xml"/>
<map:transform type="custom-transformer"/>
<map:serialize type="xml"/>
</map:match>
Can somebody explain what I could possibly be missing or is that a bug in
Cocoon?
Thanks,
Alexander
From: Lochschmied, Alexander
Sent: Donnerstag, 19. November 2009 13:46
To: [email protected]
Subject: Unbalanced tags not triggering endTransformingElement in Transformer
Hello!
Let me call <br/> "unbalanced" element as opposed to <br></br>.
I'm extending AbstractSAXTransformer and noticed that unbalanced elements do
not trigger endTransformingElement(...) if the source (or generator) is
cocoon:/something.
Example:
1. Unbalanced tags do NOT trigger endTransformingElement(...)
<map:match pattern="OK">
<map:generate src="cocoon:/something"/>
<map:transform type="custom-transformer"/>
<map:serialize type="xml"/>
</map:match>
2. Unbalanced tags do trigger endTransformingElement(...)
<map:match pattern=" NOT_OK">
<map:generate src="same_something_as_above_but_now_as_a_file.xml"/>
<map:transform type="custom-transformer"/>
<map:serialize type="xml"/>
</map:match>
Can somebody explain what I'm could possibly be missing or is that a bug in
Cocoon?
Thanks,
Alexander
Alexander Lochschmied
Web Programmer - Internet and Commerce
IT Global Web Services
Information Technology
Phone: +49 92 8771 2682
Fax +49 92 8771 2545
Website: www.vishay.com <http://www.vishay.com/>
Vishay Electronic GmbH
Geheimrat-Rosenthal-Str. 100
D-95100 Selb
Amtsgericht/County Court Hof HRB 2894,
Geschäftsführer/Managing Directors: Sieglinde Janker-Buecherl, Arnold Rohr