Subject: Re: [xsl] Question about isolating records From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 5 Sep 2015 21:48:15 -0000 |
Ken, I clearly am missing something. My stylesheet (using the two records at the bottom of this email) creates an empty @pdf-number.
<xsl:key name="pdf-key" match="Shelfmark" use="doc('test-xml.xml')/List/Item"/>
That is backwards ... you want to populate the table with <Item> elements and you want the associated value for the table entry to be the <Shelfmark> value:
<xsl:template match="@* | node()"> <xsl:copy copy-namespaces="no"> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template>
<xsl:template match="Tag"> <xsl:choose> <xsl:when test=". eq '852'"> <Tag> <xsl:attribute name="crawford-number" select="@crawford-number"/> <xsl:attribute name="pdf-number" select="key('pdf-key', PDF, @crawford-number)"/>
And that is incorrect as well, because the value you are looking up is the second argument, the tree is in the third argument (and it seems strange that you are picking only the one '852' value, so I'm generalizing here, but you can change it to be hard-coded if you need):
<!--untested but I think it should work just fine--> <xsl:template match="Tag"> <!--preserve the element--> <xsl:copy> <!--preserve all attributes--> <xsl:copy-of select="@*"/> <!--add an attribute only if there is a Crawford number--> <xsl:for-each select="@crawford-number"> <!--get the value by looking up in the other document--> <xsl:attribute name="pdf-number" select="key('pdf-key',.,doc('FILE2.xml')"/> </xsl:for-each> </xsl:copy> </xsl:template>
FILE 1: <List> <Record> <Field> <Tag>245</Tag> <Data>General-Anzeiger fC<r Philatelie.$bInternationales Insertions- Organ.</Data> </Field> <Field> <Tag crawford-number="Crawford 2411.">852</Tag> <Data>No.1-800. 10 Apr. 1883-15 Jan. 1913$aBritish Library$b5$cDPB$jCrawford 2411.$nxxk</Data> </Field> </Record> </List>
File 2: <List> <Item> <PDF>016678286</PDF> <Shelfmark>Crawford 2411.</Shelfmark> <Title>General-Anzeiger fC<r Philatelie.</Title> </Item> </List>
-- Check our site for free XML, XSLT, XSL-FO and UBL developer resources | Free 5-hour lecture: http://www.CraneSoftwrights.com/links/video.htm | Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ | G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx | Google+ profile: http://plus.google.com/+GKenHolman-Crane/about | Legal business disclaimers: http://www.CraneSoftwrights.com/legal |
--- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Question about isolating , Mark Wilson pubs@xxx | Thread | Re: [xsl] Question about isolating , Mark Wilson pubs@xxx |
Re: [xsl] Question about isolating , Mark Wilson pubs@xxx | Date | Re: [xsl] Question about isolating , Mark Wilson pubs@xxx |
Month |