Subject: Re: [xsl] XPath expression that returns a sequence of pairs? From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 17 Jan 2023 20:19:13 -0000 |
Hi Folks,
I have this XML document:
<Track-History> <Track-ID>XYZ</Track-ID> <Observation> <Target-Latitude>10</Target-Latitude> <Target-Longitude>20</Target-Longitude> <Observer-Latitude>40</Observer-Latitude> <Observer-Longitude>50</Observer-Longitude> </Observation> <Observation> <Target-Latitude>15</Target-Latitude> <Target-Longitude>25</Target-Longitude> <Observer-Latitude>40</Observer-Latitude> <Observer-Longitude>50</Observer-Longitude> </Observation> </Track-History>
I want an XPath expression that returns a sequence of (Target-Latitude,
Target-Longitude) pairs; i.e., a pair for each <Observation> element. For the XML document shown above, the XPath should return this sequence:
(10,20), (15,25)
A count of the number of items in the sequence should yield: 2
The following XPath is not correct:
for $i in //Observation return ($i/Target-Latitude, $i/Target-Longitude)
A count of the number of items returned by that XPath yields: 4
Is there an XPath to do what I seek?
B //Observation/map { 'lat' : data(Target-Latitude), 'long' : data(Target-Longitude) }
B let $maps := //Observation/map { 'lat' : data(Target-Latitude), 'long' : data(Target-Longitude) }
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: XPath expression that ret, Chris Papademetrious | Thread | Re: [xsl] XPath expression that ret, Michael Kay michaelk |
[xsl] Re: XPath expression that ret, Chris Papademetrious | Date | Re: [xsl] XPath expression that ret, Michael Kay michaelk |
Month |