[ 
https://issues.apache.org/jira/browse/DIGESTER-143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simone Tripodi closed DIGESTER-143.
-----------------------------------

    Assignee: Simone Tripodi

included in Apache Commons Digester 3.0 release

> Unintuitive, possibly broken behaviour.
> ---------------------------------------
>
>                 Key: DIGESTER-143
>                 URL: https://issues.apache.org/jira/browse/DIGESTER-143
>             Project: Commons Digester
>          Issue Type: Improvement
>    Affects Versions: 2.1
>         Environment: Linux 64 bits
>            Reporter: i30817
>            Assignee: Simone Tripodi
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: Main.java
>
>
> When one tag is a substring of another tag and both are used as xml patterns, 
> such as:
> "rdf:RDF/pgterms:etext/dc:creator"
> "rdf:RDF/pgterms:etext/dc:creator/rdf:Bag/rdf:li" (instances in a collection 
> of creators)
> the callback to the first is called once with empty strings ("") as the body 
> of the tag if it encounters a instance of the second tag.
> If additionally the first tag has a argument 
> "rdf:RDF/pgterms:etext/dc:creator rdf:type="Literal"" and you bind things 
> correctly for a two arguments callback with the text body and the argument 
> value ("Literal"), the callback of the first will be called with a null 
> rdf:type argument and a empty string as the body. You can use this to 
> distinguish the bogus callback as a workaround, but requires a additional 
> bean method and confusing binding too.
> The best thing would be if these empty strings callback were avoidable. I can 
> just test for empty string in the callback, however, i'm trying also to 
> create assertions on the xml content (including, no empty strings).
> If the bogus callback must exist, one of the ways to make it obvious and 
> distinguishable, would be to use null as the default value, instead of "". No 
> xml document will have the computation null value, unless some very strange 
> java binding is happening, in which case, you're asking for trouble. "" is 
> even worse, because it is common to both domains.
> So RFE:
> 1) Avoid the bogus callback of the smaller xml tree branch if you can.
> 2) if you can't, use null as a default value instead of the indistinguishable 
> "".
> 3) if 2) document this behavior in the javadoc and the digester FAQ.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to