"Alan Stein" <as(_at_)medcosm(_dot_)com> wrote in message
news:406DC109(_dot_)6090406(_at_)medcosm(_dot_)com(_dot_)(_dot_)(_dot_)
Thanks much for the help with my previous posting.
I think I've better articulated my question in the following example:
Given the following XML:
<?xml version="1.0" encoding="UTF-8"?>
<reportlist>
<report>
<codelist>
<code type="a"/>
</codelist>
<codelist>
<code type="b"/>
<code type="c"/>
</codelist>
</report>
<report>
<codelist>
<code type="a"/>
<code type="b"/>
</codelist>
<codelist>
<code type="a"/>
</codelist>
</report>
<report>
<codelist>
<code type="z"/>
<code type="a"/>
<code type="d"/>
</codelist>
</report>
<report>
<codelist>
<code type="a"/>
<code type="e"/>
<code type="f"/>
</codelist>
</report>
<report>
<codelist>
<code type="e"/>
</codelist>
</report>
</reportlist>
How do I perform the following queries?
1) What is the number of reports which are coded with either an "a" or
"b" where the last "a" or "b" code of the report (in document order) is
an "a"?
(correct number is 3. Yes, this has been double checked.)
2) What is the number of reports which are coded with either an "a" or
"b" where the last "a" or "b" code of the report (in document order) is
a "b".
(correct number is 1. Yes, this has been double-checked.)
In my previous posting I recevied several helpful responses.
Unfortunate that I couldn't apply them to my application because my
example was too simplified. Specifically, codes in the same report may
have different codelist parents, and this seems to be what's at the root
of my problem formulating an xpath statement. Hopefully the revised
example more accurately reflects my problem.
Thanks again for the help. I'm impressed by the brainpower in XML
design and available in this forum.
--Alan
Use:
1.
count(
/*/report/codelist[code/@type[.='a' or .='b']]
[last()]
/code[(_at_)type[(_dot_)='a' or
.='b']][(_at_)type='a']
)
2.
count(
/*/report/codelist[code/@type[.='a' or .='b']]
[last()]
/code[(_at_)type[(_dot_)='a' or
.='b']][(_at_)type='b']
)
Hint: I used the Xpath Visualizer for a few minutes to find this
solutions.
Cheers,
Dimitre Novatchev [XML MVP],
FXSL developer, XML Insider,
http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html
__________________________________
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway
http://promotions.yahoo.com/design_giveaway/