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
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Emil BerglindSubject: Retrieving all nodes where a certain attribute does not match.
Author: Emil Berglind
Date: 11 Dec 2007 05:02 PM
This is a two part question. First, here is the XML I'm working with:


<AmaxRec xmlns="http://Test.FlatFileSchema">
<Header xmlns="">
<RecType>HD</RecType>
<CarrierID>TESTCARRIER</CarrierID>
<SysDate>20071126</SysDate>
<SysTime>103408</SysTime>
<SenderID>7777419</SenderID>
<ReceiverID>1234</ReceiverID>
<FileVer>001</FileVer>
<RecNo>04175</RecNo>
</Header>
<Agency xmlns="">
<RecType>AY</RecType>
<AgencyID>SRP</AgencyID>
<Active>1</Active>
<AgencyName>TEST1</AgencyName>
</Agency>
<Agent xmlns="">
<RecType>AG</RecType>
<AgentID>00000000000000LDT001</AgentID>
<AgencyID>SRP</AgencyID>
<Active>1</Active>
<FirstName>TEST</FirstName>
<LastName>USER1</LastName>
<DOB>01011900</DOB>
<Phone>443-333-9999</Phone>
<Role>0</Role>
<Email>MARNG.NROLL@TEST.COM</Email>
</Agent>
<Agent xmlns="">
<RecType>AG</RecType>
<AgentID>00000000000000ABC</AgentID>
<AgencyID>SRP3</AgencyID>
<Active>1</Active>
<FirstName>TEST</FirstName>
<LastName>USER2</LastName>
<DOB>01011900</DOB>
<Phone>333-733-9999</Phone>
<Role>0</Role>
<Email>TEST.ENROLL@BEST.COM</Email>
</Agent>
</AmaxRec>

1: I've been executing simple xpath queries inside of an xslt transformation, and they are not coming out right. For example, I try to execute something as simple as //Agent[AgencyID != 'a'], and it always only gives the first Agent node. I can never get it to return everything. However, if I exceute this xpath query in a separate xquery window, it executes correctly.

2: I need an xpath query that will return all of the agents whose AgencyID's do not match any Agency's AgencyID's. I'm a bit new too xpath and xslt, so this has thrown me for a bit of a loop.

Any help would be greatly appreciated.

Thanks!

Postnext
Minollo I.Subject: Retrieving all nodes where a certain attribute does not match.
Author: Minollo I.
Date: 11 Dec 2007 09:21 PM
#1: This XSLT returns two nodes for me; maybe the problem is in the way you are consuming the result of the XPath expression in XSLT?
<xsl:for-each select="//Agent[AgencyID != 'a']">
<xsl:copy-of select="."/>
</xsl:for-each>

#2: Something like this? //Agent[AgencyID != //Agency/AgencyID]

Postnext
Emil BerglindSubject: Retrieving all nodes where a certain attribute does not match.
Author: Emil Berglind
Date: 12 Dec 2007 01:27 PM
Thanks! It was just the way I was displaying the results.

I just had <Test><xsl:value-of select="//Agent[AgencyID != //Agency/AgencyID]"></Test>. I'm kind of new to XSLT, so I didn't know exactly how I needed to execute the XPath query in there.

Postnext
Emil BerglindSubject: Retrieving all nodes where a certain attribute does not match.
Author: Emil Berglind
Date: 13 Dec 2007 04:48 PM
Ok, I have another question now. If I have multiple <Agency> elements, this xpath query seems to not work. When this is the case, every Agent record is always selected. Is there any way to write an xpath query that does something like "select all agents whos AgencyID's do not match a single Agency"?

Postnext
(Deleted User) Subject: Retrieving all nodes where a certain attribute does not match.
Author: (Deleted User)
Date: 14 Dec 2007 03:03 AM
Try reverting the check: //Agent[not(AgencyID = //Agency/AgencyID)]

Alberto

Posttop
Emil BerglindSubject: Retrieving all nodes where a certain attribute does not match.
Author: Emil Berglind
Date: 14 Dec 2007 09:13 AM
Awesome, thanks! That worked flawlessly. It's still a bit hard for me to get into the train of thought required for this xslt/xpath stuff. I'm so used to Object Oriented programming languages :-)

 
Topic Page 1 2 3 4 5 6 7 8 9 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.