What's the problem with passing the AttributesImpl object as parameter to the method?

Joerg

On 14.05.2004 17:07, Thomas Krause wrote:

Hello Cocoon PMC,

I think some of your members are familiar with the german language!

Hallo Cocoon PMC,

ich hatte eine Aufgabe zu l�sen, die Rekursion innerhalb einer XSP
voraussetzt. Es sollte eine hierachische Struktur analysiert und als HTML
wiedergegeben werden. Innerhalb der XSPs ist die Definition, Implementierung
und der Aufruf eigener Methoden m�glich. Um in einer eigenen Methode
XML-Tags zu verwenden ist das Objekt org.xml.sax.helpers.AttributesImpl
xspAttr notwendig. Allerdings wird dies durch den XSP-Java-Transformator als
lokales Objekt innerhalb der Methode generate() erzeugt.

Mein Aufruf f�r die Rekursion mu�te daher so lauten:

<xsp:logic>

        <!-- It's a little bit tricky, but the parameter "xspAttr" is
generated while the transformation from xsp to java -->

        <!-- Please see the resulting java file to validate this -->

        this.processGroupHierarchyNode( xspAttr, rootNode );

</xsp:logic>



Die aufgerufen Methode in der XSP:

<!-- go recursive thrue the hierarchy of groups -->

<!-- the param xspAttr is required for SAX -->

<!-- I think you can also use "AttributesImpl xspAttr = new
AttributesImpl();" to create a new xspAttr -->

<xsp:logic>

         private void processGroupHierarchyNode(
org.xml.sax.helpers.AttributesImpl xspAttr, GroupHierarchyNode node) throws
Exception

...



Dabei ist es f�r andere Entwickler nicht ersichtlich, woher das Attribut
xspAttr kommt. Das erkennt man nur, wenn man sich die generierte XSP
ansieht. Au�erdem ist diese L�sung nicht stabil gegen�ber �nderungen am
XSP-Java-Transformator.



Daher mein Vorschlag:

Bei der XSP-Java-Transformation das Objekt   AttributesImpl xspAttr    auf
Klassenebene definieren.



Gru�

Thomas

Reply via email to