[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
I'd like to include an xquery script with my stylesheet archive to do the following:
1) take my source document, extract all of the citations from it
2) use that list of citations to create a bibliography collection, where the bibliographic records are in their own directory, with filenames that are the same as the IDs, plus an extension.
So, citation is:
<citation><biblioref linkend="doe99"/></citation>
The record it points to is thus "bib-data/doe99.xml".
3) Insert that bibliography into the document, and then run my stylesheets on it, with a citation-style parameter entered by the user on the commandline.
Below is where I'm at. I'm stuck on
1) how to define the article path to be a variable entered by the user
2) how to define where to grab the mods data (bib-data/{$citation}.xml doesn't work, nor does bib-data/*)
3) how to run the stylesheets (with parameter) on the returned article
Bruce
xquery version "1.0";
[xsl] integrating xslt and xquery
Subject: [xsl] integrating xslt and xquery From: Bruce D'Arcus <bdarcus@xxxxxxxxxxxxx> Date: Thu, 21 Oct 2004 12:21:52 -0400 |
I'd like to include an xquery script with my stylesheet archive to do the following:
1) take my source document, extract all of the citations from it
2) use that list of citations to create a bibliography collection, where the bibliographic records are in their own directory, with filenames that are the same as the IDs, plus an extension.
So, citation is:
<citation><biblioref linkend="doe99"/></citation>
The record it points to is thus "bib-data/doe99.xml".
3) Insert that bibliography into the document, and then run my stylesheets on it, with a citation-style parameter entered by the user on the commandline.
Below is where I'm at. I'm stuck on
1) how to define the article path to be a variable entered by the user
2) how to define where to grab the mods data (bib-data/{$citation}.xml doesn't work, nor does bib-data/*)
3) how to run the stylesheets (with parameter) on the returned article
Bruce
xquery version "1.0";
declare default element namespace "http://docbook.org/docbook-ng"; declare namespace mods="http://www.loc.gov/mods/v3"; declare namespace xbiblio="http://xbiblio.sourceforge.net";
declare function xbiblio:resolve-references($article as element()) as element()* { (: extract citation linkend values from the docbook-ng file :) for $citation in distinct-values($article//biblioref/@linkend) (: find the corresponding mods record :) let $mods := doc("bib-data/*")//mods:mods[@ID = $citation] return if(empty($mods)) then (: not found: stop processing :) error(concat("No record found for reference ", $citation)) else $mods };
let $article := doc("test.xml")/article return <article> {$article/*} <bibliography> <mods:modsCollection> {xbiblio:resolve-references($article)} </mods:modsCollection> </bibliography> </article>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Assigning keywords according , Huditsch Roman | Thread | Re: [xsl] integrating xslt and xque, David Carlisle |
Re: [xsl] HTML sortable columns, Wendell Piez | Date | [xsl] Applying Templates to a Subst, Joe Heidenreich |
Month |
Keywords