Java Mailing List Archive

http://www.junlu.com/

Google
Google
Mailing List
Home
Forum Home
JBoss - Java Application Server
Struts - A MVC web framework
Tomcat - JSP/Servlet container
iText - An open source PDF Java Library
JDOM - JDOM XML Parser
J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition
J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog
Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology
JSP - A mailing list about Java Server Pages specification and reference
Struts & Hibernate
Subjects
JSP editor plugin for eclipse ?
org apache jasper JasperException: Unable to compile class for JSP
Tomcat: Connection reset by peer: socket write error
Cannot retrieve definition for form bean null
Struts Tiles Tutorial (free Struts training)
Where do I download Tomcat 4 0 6?
Data Access Object (DAO) pattern, example DAO 's
Where to download Tomcat v 4 1 24 from?
Tomcat 5 0 16 Requested resource not available
Oracle Connection Pooling in 3 2 2
Servlet : Session invalidate
Servlet action is currently unavailable
Tomcat/Struts Unicode Encoding/Decoding problems
Tomcat and webapplication specific java library path
Running a Simple JMS Example
Mapping in workers2 properties
org apache jasper JasperException
Cannot find message resources under key org apache struts action
   MESSAGE
problem with html:text bean throwing exception
Cannot find message resources under key org apache struts action MESSAGE
invalid direct reference problem with solution
Tool for jsp debug Try Sysdeo Eclipse Plugin
Tomcat 5 Cannot load JDBC driver class 'null ' SQL state: null
weblogic ejbc
java properties file
Jboss 3 2 3 Coyote Can 't re
Tomcat 5, Apache2 and mod jk2 integration problem
JBoss example problem new to J2EE
url string for connecting jboss to oracle
Value attribute of <html:checkbox
javax servlet ServletException: BeanUtils populate
HTTP Status 404 The requested resource is not available
5 0 18: Windows XP Pro vs Windows 2000
 
Jaxen method of matching XPath

Jaxen method of matching XPath

2004-03-23       - By Anna Afonchenko

 Back
I am using JDOM to access and change some XML file.
I noticed that when I apply some XPath, the nodes match by Depth First Search,
not by Breadth First Search (as in saxon, for example).
E.g., when applying XPath //a on the next document:
<b>
   <a>1</a>
</b>
<a>2</a>
First the <a>2</a> will be matched, and then <a>1</a>.
This is how I apply it in the code:
//read in the xml file
Document xmlDocument = new SAXBuilder().build(xmlDocument);
org.jaxen.XPath path = new JDOMXPath(sXPath);
currentElement = (Element) path.selectSingleNode(xmlDocument);
XMLOutputter outputter = new XMLOutputter();
return outputter.outputString(currentElement);

Is there any possible way of forcing jaxen to perform BFS match for XPath? So
that for the previous xml file and XPath it will return as a result <a>1</a>.

I apologise if this question was asked before, it is not in the FAQ,
and I could not find something similar in the archives.

Thank you very much for help.

Anna

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859 (See http://iso-8859.ora-code.com)-1">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>I am using JDOM to access and change some XML
file.</FONT></DIV>
<DIV><FONT face=Arial size=2>I noticed that when I apply some XPath, the nodes
match by Depth First Search, not by Breadth First Search (as in saxon, for
example).</FONT></DIV>
<DIV><FONT face=Arial size=2>E.g., when applying XPath //a on the next
document:</FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;b&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;
&lt;a&gt;1&lt;/a&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;/b&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;a&gt;2&lt;/a&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>First the &lt;a&gt;2&lt;/a&gt; will be matched,
and
then &lt;a&gt;1&lt;/a&gt;.</FONT></DIV>
<DIV><FONT face=Arial size=2>This is how I apply it in the code:</FONT></DIV>
<DIV><FONT face=Arial size=2>//read in the xml file</FONT></DIV>
<DIV><FONT face=Arial size=2>Document xmlDocument = new
SAXBuilder().build(xmlDocument);</FONT></DIV>
<DIV><FONT face=Arial size=2>org.jaxen.XPath path = new
JDOMXPath(sXPath);<BR>currentElement = (Element)
path.selectSingleNode(xmlDocument);</FONT></DIV>
<DIV><FONT face=Arial size=2>XMLOutputter outputter = new
XMLOutputter();<BR>return outputter.outputString(currentElement);</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Is there any possible way of forcing jaxen to
perform BFS match for XPath? So that for the previous xml file and XPath it
will
return as a result &lt;a&gt;1&lt;/a&gt;.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I apologise if this question was asked before, it
is not in the FAQ,</FONT></DIV>
<DIV><FONT face=Arial size=2>and I could not find something similar in the
archives.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Thank you very much for help.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Anna</FONT></DIV></BODY></HTML>

©2008 junlu.com - Jax Systems, LLC, U.S.A.