[ http://issues.apache.org/jira/browse/COCOON-1686?page=all ]
Jean-Baptiste Quenot reassigned COCOON-1686: -------------------------------------------- Assign To: Jean-Baptiste Quenot > [PATCH] COCOON-1671 Form not binding when prefix in binding definition is > unequal to that in the instance data for the same namespace. > -------------------------------------------------------------------------------------------------------------------------------------- > > Key: COCOON-1686 > URL: http://issues.apache.org/jira/browse/COCOON-1686 > Project: Cocoon > Type: Bug > Components: Blocks: Forms > Versions: 2.1.8 > Reporter: Michael Schlotfeldt > Assignee: Jean-Baptiste Quenot > Attachments: DomHelper.txt, JXPathBindingManager.txt > > This is a patch to solve bug entry COCOON-1671. > The problem was the SAX parser used in createBinding(Source) of > JXPathBindingManager did not have the > "http://xml.org/sax/features/namespace-prefixes" set to true. This ment the > namespaces could not be extracted from the DOM when calling > getInheritedNSDeclarations(Element). Therefore the JXPathContext was never > having namespaces registered. > Enabling the features solves these problems. The patch (which is against the > SVN as of today) that are being submit changes 2 files: (1) DomHelper.java > (2)JXPathBindingMangager > In DomHelper I added an additional parse method that takes a SAXParser in > place of the servicemanager. This way you can set features on the SAXParser > before the parsing to dom is done. The parse method that existed before still > does but i modified that as well so it uses the new method so we do not > duplicate code. > Three more things: > 1. My experinece with Excalibur is not complete. I am unsure if i can lookup > the SAXParser and then parametize it. Or if it should be done another way. > The patch looks it up and then parametizes this. I believe this is the > correct way, but if it is not please let me know. > 2. The SAXParser used by JXPathBindingMangager no turns on the feature we > want. But the JaxpParser class from Excalibur (which is what is returned) has > a system print out in it if you enable the feature we are now. So everytime > a binding occurs it says: "NAMESPACE PREFIX!!!!!!!!!!!!!!!!!!!!!!!!!!". If > anybody has acces to the repository for that class PLEASE remove that line. > It shoudl not be there. > 3. There is another bug report for the form samples (#6) that uses namespace > binding. I need somebody to confirm this but it appears that this patch also > fixes that bug report. The number for that report is: COCOON-1595 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira