You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Matt Benson (JIRA)" <ji...@apache.org> on 2007/12/14 19:49:43 UTC

[jira] Updated: (JXPATH-108) problems with NodeSet returned from custom function.

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

Matt Benson updated JXPATH-108:
-------------------------------

    Description: 
If a NodeSet (BasicNodeSet) is returned from a custom function,
count() does not work and returns always 1.

Perhaps could be added In ri.compiler.CoreFunction.java, method functionCount(EvalContext)

else if (value instanceof Collection) {... }
else if (value instanceof NodeSet) {
            count = ((NodeSet) value).getValues().size();
        }

or similiar.


  was:
If a NodeSet (BasicNodeSet) is returned from a custom function,
count() does not work and returns always 1.

Perhaps could be added In ri.compiler.CoreFunction.java, method functionCount(EvalContext)

else if (value instanceof Collection) {... }
else if (value instanceof NodeSet) {
            count = ((NodeSet) value).getValues().size();
        }

or similiar.



        Summary: problems with NodeSet returned from custom function.  (was: count() on NodeSet returned from custom function.)

Additional problem reported by M. Vivoda:
selecting a single value from a returned NodeSet returns the nodeset rather than treating as a valid part of the xpath graph.  User suggested fix for both issues (obviating the fix in CoreFunction) to convert the NodeSet to an EvalContext when the extension function is called.  I agree with the analysis.

> problems with NodeSet returned from custom function.
> ----------------------------------------------------
>
>                 Key: JXPATH-108
>                 URL: https://issues.apache.org/jira/browse/JXPATH-108
>             Project: Commons JXPath
>          Issue Type: Improvement
>    Affects Versions: Nightly Builds
>            Reporter: Michele Vivoda
>            Priority: Minor
>             Fix For: 1.3
>
>
> If a NodeSet (BasicNodeSet) is returned from a custom function,
> count() does not work and returns always 1.
> Perhaps could be added In ri.compiler.CoreFunction.java, method functionCount(EvalContext)
> else if (value instanceof Collection) {... }
> else if (value instanceof NodeSet) {
>             count = ((NodeSet) value).getValues().size();
>         }
> or similiar.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.