[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmlbeans-dev
Subject:    [jira] [Created] (XMLBEANS-467) Unable to selectPath() on an
From:       "Paul Mak (JIRA)" <xmlbeans-dev () xml ! apache ! org>
Date:       2011-08-03 23:05:27
Message-ID: 1302371270.6444.1312412727564.JavaMail.tomcat () hel ! zones ! apache ! org
[Download RAW message or body]

Unable to selectPath() on an element with a specific attribute value
--------------------------------------------------------------------

                 Key: XMLBEANS-467
                 URL: https://issues.apache.org/jira/browse/XMLBEANS-467
             Project: XMLBeans
          Issue Type: Bug
          Components: XPath
    Affects Versions: Version 2, Version 2.4 
         Environment: Windows XP/AIX 5.3
Java 1.6 32-bit on Windows / Java 6 64-bit on AIX
            Reporter: Paul Mak
            Priority: Minor


As titled.  Here's some sample code:

public static void main(String args[]) {
		
		XmlObject xml = XmlObject.Factory.newInstance();
		try {
			/*
				<Sample>
					<path1>FirstValue</path1>
					<list>
						<param name="number">123456789</param>
						<param name="status">Active</param>
					</list>
				</Sample>
			 * */
			xml = XmlObject.Factory.parse("<Sample><path1>FirstValue</path1><list><param \
name=\"number\">123456789</param><param \
name=\"status\">Active</param></list></Sample>");  }
		catch (Exception e) {};
		System.out.println("XML = " + xml.xmlText());
				
		String cacheXPath1 = "Sample/path1";
		String cacheXPath2 = "Sample/list/param[@name='status']";
		XmlCursor c = xml.newCursor(); 
		c.selectPath(cacheXPath1);
				
		String value = "";
		if (c.toNextSelection()) {
			value = c.getTextValue();
		}
		System.out.println("Value of " + cacheXPath1 + " is " + value);
		
		value = "";
		c.dispose();
		c = xml.newCursor();
		c.selectPath(cacheXPath2);
		if (c.toNextSelection()) {
			value = c.getTextValue();
		}
		System.out.println("Value of " + cacheXPath2 + " is " + value);
		
		c.dispose();
	}

The output I get is

Value of Sample/path1 is FirstValue
Exception in thread "main" java.lang.RuntimeException:  Trying XBeans path engine... \
Trying XQRL... Trying delegated path engine... FAILED on \
Sample/list/param[@name='status']  at \
org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:173)  at \
org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:130)  at \
org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:902)  at \
org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:894)  at \
org.apache.xmlbeans.impl.store.Cursor.selectPath(Cursor.java:2616)  at \
test.Test1.main(Test1.java:49)

So it was not able to find the element <param> that has a value of "Active" for the \
"status" attribute.  I've tried XMLBeans 2.4 from Apache site, and also versions 2.2 \
and 2.5.1 that come with Weblogic Server 10.3.3.  Any help would be appreciated.

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic