Children returned instead of self for arrays when using . selector
------------------------------------------------------------------

                 Key: JXPATH-86
                 URL: https://issues.apache.org/jira/browse/JXPATH-86
             Project: Commons JXPath
          Issue Type: Bug
    Affects Versions: 1.2 Final
            Reporter: Adam Crume


The . selector should always return the context node, and the * selector should 
return child elements.  However, this doesn't work for arrays:

JXPathContext context = JXPathContext.newContext(new HashMap());
context.setValue("array", new String[] {"one", "two", "three"});
context.setValue("array2", new String[][] { {"a", "b"}, {"c", "d"}});
context.setValue("person", new Person("Bob", 25));

String[] paths = {"/array", "/array/.", "/array/*", "/person", "/person/.", 
"/person/*"};
for(int i = 0; i < paths.length; i++) {
        Pointer pointer = context.getPointer(paths[i]);
        System.out.println(pointer.asPath());
        Object value = context.getValue(paths[i]);
        System.out.println(value);
        System.out.println();
}


This produces the following output:

/[EMAIL PROTECTED]'array']
[Ljava.lang.String;@59b659b6

/[EMAIL PROTECTED]'array'][1]
one

/[EMAIL PROTECTED]'array'][1]/bytes[1]
111

/[EMAIL PROTECTED]'person']
[EMAIL PROTECTED]

/[EMAIL PROTECTED]'person']
[EMAIL PROTECTED]

/[EMAIL PROTECTED]'person']/age
25



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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to