|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] Printing Siblings in FunctionsWei, Alice J. ajwei at indiana.eduTue Mar 4 16:34:46 PST 2008
Hi, Pam: I am not sure what you mean here, but I have just fixed my xquery now that it is working properly. declare variable $data := fn:collection("xmldb:exist://db/cbml")//ad; declare variable $s := $data/head[contains(upper-case(.), 'STAMP')]; declare function local:unique-nodes-by-value($seq as element()*) as element()* { for $d in distinct-values($seq) let $journal := $seq[. =$d][1]/ancestor::cbml//seriesStmt/title[@level='journal'] let $volume := $seq[. =$d][1]/ancestor::cbml//seriesStmt/idno[@type='volume'] let $issue := $seq[. =$d][1]/ancestor::cbml//seriesStmt/idno[@type='issue'] let $head2 := $seq[.=$d][1]/parent::ad/child::head let $para := $seq[.=$d][1]/parent::ad/child::p let $note := $seq[.=$d][1]/parent::ad/child::note order by $d return <ad> <information_source> {$journal} <publication>Volume {data($volume)}, Issue {data($issue)}</publication> </information_source> {$head2} <description>{$para}</description> {$note}</ad> }; local:unique-nodes-by-value($s) Output: <ad> <information_source> <title level="journal">My Collection</title> <publication>Volume 1 , Issue 1 </publication> </information_source> <head>Complimentary Collection of 50 Different U.S. Stamps</head> <description> <p>Receive this great Collection for only 26c mailing and handling to introduce our superb U.S. Approval sections—100 year old classics. Airmails, comments, etc. Buy any or none, return balance, cancel anytime. <address> <addressLine> <emph rend="bold">Globes Stamps.</emph> </addressLine> <addressLine>276 Park Ave. Sq.</addressLine> <addressLine>New York, NY. 18010.</addressLine> </address> </p> </description> <note>Dept. 323</note> </ad> It turns out to be some XPath expression with the number of nodes it has to be printed. Unless you have other ideas? Alice ====================================================== Alice Wei MIS 2008 School of Library and Information Science Indiana University Bloomington http://x-query.com/mailman/listinfo/talk ________________________________________ From: pam clark [http://x-query.com/mailman/listinfo/talk] Sent: Tuesday, March 04, 2008 4:32 PM To: Wei, Alice J. Subject: Re: Printing Siblings in Functions Alice cx me from your talk query. pc "Wei, Alice J." <http://x-query.com/mailman/listinfo/talk> wrote: Hi, I have an XQuery as follows: declare variable $data := High School Diploma & Ring YOURS Through Home Study Prepare for GED or College Entrance 400 N. Interurban Richardson, Texas 75080 Texts Purchased by: Departments of Education·Private Schools·Colleges Mail this Coupon NOW. For Persons 18 or Over United Schools and Services Dept. M676 Box 1068, Richardson, Texas 75080 Please rush FREE information about High School ; declare variable $s := $data/head[contains(upper-case(.), 'SCHOOL')]; declare function local:unique-nodes-by-value($seq as element()*) as element()* { for $d in distinct-values($seq) let $head := $seq/parent::ad/descendant::head return {$head[. = $d][1]} }; local:unique-nodes-by-value($s) What I want to do is to extract the entire node and have it ordered by the "content within the first position of the head node," However, when I run the script, this is what it gives me: High School Diploma & Ring My intended output is as follows: High School Diploma & Ring YOURS Through Home Study Have I done something wrong? Any suggestion is appreciated. Alice ====================================================== Alice Wei MIS 2008 School of Library and Information Science Indiana University Bloomington http://x-query.com/mailman/listinfo/talk _______________________________________________ http://x-query.com/mailman/listinfo/talk http://x-query.com/mailman/listinfo/talk ________________________________ Never miss a thing. Make Yahoo your homepage.<http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs>
|
Purchase Stylus Studio Online Today!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






