XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Kam ChanSubject: Find the parent who doesn't have a particular child
Author: Kam Chan
Date: 06 Jul 2009 05:28 PM
I have a simple question, hope that you can answer quickly.

I am trying to write a simple function that takes an argument of the name of a child, and look for the parent node that doesn't have this child.

For example"
declare variable $system :=
<root>
<a>
<b>b2</b>
<c>c1</c>
</a>
<a>
<b>b2</b>
<d/>
</a>
</root>;

declare function local:getParentOfNonExistentChild($system as element(), $bValue as xs:string, $childName as xs:string) as element()*
{
$system//*[b/text() = $bValue][not($childName)]
};

<result>
{ local:getParentOfNonExistentChild($system treat as element(), "b2", "d") }
</result>

In this example the function accepts the name of the child. When I pass in "d" as the child name, it should have returned the first <a> parent, but the function always return empty.

This appears to be a variable substitution problem with the $childName.
How should I write this?

Thanks in advance.

Kam

Postnext
Ivan PedruzziSubject: Find the parent who doesn't have a particular child
Author: Ivan Pedruzzi
Date: 07 Jul 2009 02:09 AM

declare function local:getParentOfNonExistentChild(
$system as element(),
$bValue as xs:string,
$childName as xs:string) as element()*
{
$system//*[b/text() = $bValue and not(.//*[local-name() = $childName ])]
};


Ivan Pedruzzi
Stylus Studio Team

Posttop
Kam ChanSubject: Find the parent who doesn't have a particular child
Author: Kam Chan
Date: 07 Jul 2009 10:18 AM
Ivan,

Thank you, that is working.

Kam

 
Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.