Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > XML > XPATH help with Expression

Reply
Thread Tools

XPATH help with Expression

 
 
Jerry O
Guest
Posts: n/a
 
      06-27-2003
Hi -

I am stuck on what might be a simple Xpath expression, I just can't
visualize the query.

I have a node set that can be the child of any of three nodes. I would
like to test if a node matching [@url = $this-page] has the child
<related_info type="x" />.

Here's my XML
<?xml?>
<root>
<silo>
<level_one url="w123">
<related_info type="x"/>
</level_one>
<level_two>
<nav_item url="w234">
<related_info type="x"/>
</nav_item>
<nav_item url="x234">
<related_info type="x"/>
</nav_item>
</level_two>
<level_three>
<nav_item url="w23w">
<related_info type="x"/>
</nav_item>
<nav_item url="x2ww">
<related_info type="x"/>
</nav_item>
</level_three>
</silo>
....
</root>

I need to do two things.

1. See if the related info section exists, so I can adjust widths and
the like.
2. Call a named template to operate on the related_info data.

I'm almost at the point of creating a separate (flatter) XML for the
related_info and be done with it.

Let me know what you think.


Jerry
 
Reply With Quote
 
 
 
 
Dimitre Novatchev
Guest
Posts: n/a
 
      06-27-2003
Use:

/*/*/*[@url = $this-page and related_info[@type=''x'] ]



I'd recommend that you get the XPath Visualizer and play with it to learn
XPath the fun way.
=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL



"Jerry O" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) m...
> Hi -
>
> I am stuck on what might be a simple Xpath expression, I just can't
> visualize the query.
>
> I have a node set that can be the child of any of three nodes. I would
> like to test if a node matching [@url = $this-page] has the child
> <related_info type="x" />.
>
> Here's my XML
> <?xml?>
> <root>
> <silo>
> <level_one url="w123">
> <related_info type="x"/>
> </level_one>
> <level_two>
> <nav_item url="w234">
> <related_info type="x"/>
> </nav_item>
> <nav_item url="x234">
> <related_info type="x"/>
> </nav_item>
> </level_two>
> <level_three>
> <nav_item url="w23w">
> <related_info type="x"/>
> </nav_item>
> <nav_item url="x2ww">
> <related_info type="x"/>
> </nav_item>
> </level_three>
> </silo>
> ...
> </root>
>
> I need to do two things.
>
> 1. See if the related info section exists, so I can adjust widths and
> the like.
> 2. Call a named template to operate on the related_info data.
>
> I'm almost at the point of creating a separate (flatter) XML for the
> related_info and be done with it.
>
> Let me know what you think.
>
>
> Jerry



 
Reply With Quote
 
 
 
 
Jerry O
Guest
Posts: n/a
 
      06-27-2003
Hi Guys -

Thanks for the help. I used Dimitre's solution; tried them both but
managed to get his working first. Although, I like the idea of using a
key and will experiment with that version when I have more time, for
right now the straight XPATH was simpler.

I agree with Marrow that I should not have mixed data into element
names but at this time, I cannot rework the XML. Parts of it are
already in production. The good news is the structure will never go
below three levels. Point taken for next time.

Thanks for the tip on XPath Visualizer. It helped me catch a couple of
typos in the solution.

The final version ended up as :

//*/*/*[@url = $this-page and related_info[@type='x'] ]

Cheers,

Jerry O
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Seek xpath expression where an attribute name is a regular expression GIMME XML 3 12-29-2008 03:11 PM
C/C++ language proposal: Change the 'case expression' from "integral constant-expression" to "integral expression" Adem C++ 42 11-04-2008 12:39 PM
C/C++ language proposal: Change the 'case expression' from "integral constant-expression" to "integral expression" Adem C Programming 45 11-04-2008 12:39 PM
"Memory leak" in javax.xml.xpath.XPath Marvin_123456 Java 4 07-29-2005 03:49 PM
Problem selecting a node with XPATH if attribute value contains backslashes - how to force XPATH string to be treated as literal? Alastair Cameron XML 1 07-08-2003 07:24 PM



Advertisments