cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Schlotfeldt (JIRA)" <j...@apache.org>
Subject [jira] Created: (COCOON-1686) [PATCH] COCOON-1671 Form not binding when prefix in binding definition is unequal to that in the instance data for the same namespace.
Date Wed, 16 Nov 2005 18:53:28 GMT
[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-dev (Current SVN)    
    Reporter: Michael Schlotfeldt
 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


Mime
View raw message