[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Question about isolating records


Subject: Re: [xsl] Question about isolating records
From: "Mark Wilson pubs@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 5 Sep 2015 15:50:51 -0000

Hi Ken,
Thanks. I'll read up on <xsl:key> and try to implement this.
Appreciate your response.
Regards,
Mark

On 9/5/2015 8:17 AM, G. Ken Holman g.ken.holman@xxxxxxxxx wrote:
Just to get you started:

 - declare a key table of "Item" elements keyed by the "Shelfmark" chlid
 - use the identity template to copy FILE 1
 - match on the "Tag" element, copy all existing attributes
 - use the "crawford-number" value as the lookup value in the
   key table of File 2 (using the third argument of the key() function)

Rather than supply the written solution, that
should be enough for you to figure things out in syntax.

I hope this helps.

. . . . . Ken

At 2015-09-05 11:10 +0000, Mark Wilson pubs@xxxxxxxxxxxx wrote:
I have two XML files, File 1 and File 2. They contain the XML shown below.

<Tag>852</Tag> in File 1 has a @crawford-number.
If in File 2 there is an <Item> with a
<Shelfmark> equal to the value of
@crawford-number, I want to add an @pdf-number
attribute to the <Tag>852</Tag> in File 1
containing the value of <PDF> in File 2 like so:
<Tag crawford-number="Crawford 2411." @pdf-number="016678286">852</Tag>

File 1 always contains a <Tag
@crawford>852</Tag> and File 2 always contains a
<Shelfmark>, but there may or may not be a match.

I have not a clue as to how to get started. Happy to answer any questions.
Mark


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
Keywords