|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: RE: Combining two XML files into one
I have modified your stylesheet slightly now, because I also think it is
nicer to have all the information in the stylesheet. Since I actually want
ot merge 15 different files in one run, it don't work with parameters
either...
I have tested it and it seems to work fine.
Thank you very much,
Karl
> --- Urspr|ngliche Nachricht ---
> Von: cknell@xxxxxxxxxx
> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Betreff: RE: RE: Combining two XML files into one
> Datum: Wed, 20 Jul 2005 16:46:04 -0400
>
> I was using the first stylesheet to transform kkoch3b.xml. I needed to get
> access to kkoch3a.xml as well. By using the document() function, I could
> get access to a document that was not involved in the transform. The
command
> line for the first stylesheet is:
>
> java -jar c:\saxon\saxon.jar kkoch3b.xml kkoch3.xslt
>
> As you can see, there is no reference to kkoch3a.xml on the command line
> (nor, so far as I can tell, can there be), so I had to retrieve it using
the
> document() function.
>
> The interesting part (to me) of the second stylesheet is that it doesn't
> matter what XML file you pass to the stylesheet on the command line. It is
> ignored by the stylesheet. All the processing is directed to the two XML
> files whose names are passed as parameters to the two instances of the
> document() function.
>
>
> --
> Charles Knell
> cknell@xxxxxxxxxx - email
>
>
>
> -----Original Message-----
> From: Karl Koch <TheRanger@xxxxxxx>
> Sent: Wed, 20 Jul 2005 22:16:52 +0200 (MEST)
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: Combining two XML files into one
>
> Thank you for the quick response and fixing my mistakes. Why did you only
> use kkoch3a in the first stylesheet?
>
> Actually I do not need sorting, but thank you for providing it anyway.
>
> Thank you very much - I am testing it right now,
> Karl
>
>
> > --- Urspr|ngliche Nachricht ---
> > Von: cknell@xxxxxxxxxx
> > An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Betreff: RE: Combining two XML files into one
> > Datum: Wed, 20 Jul 2005 16:09:10 -0400
> >
> > After fixing the xml, the solution is to use the document() function.
> The
> > bookshelf elements had two opening tags and no closing tag, and the book
> > elements had nothing resembling a closing tag.
> >
> > I saved one file as kkoch3a.xml and the other as kkoch3b.xml. The first
> > stylesheet works if the books are in sorted order already. The second
> style
> > sheet sorts them if that is what you want and they are not already in
> the
> > sort order you wish to have.
> >
> > -- no sorting --
> > <?xml version="1.0" encoding="UTF-8" ?>
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> > <xsl:output method="xml" indent="yes" encoding="UTF-8" />
> > <xsl:strip-space elements="*" />
> > <xsl:variable name="kkoch3a" select="document('kkoch3a.xml')" />
> >
> > <xsl:template match="/">
> > <xsl:apply-templates />
> > </xsl:template>
> >
> > <xsl:template match="bookshelf">
> > <bookshelf>
> > <xsl:apply-templates select="$kkoch3a/bookshelf/book" />
> > <xsl:apply-templates />
> > </bookshelf>
> > </xsl:template>
> >
> > <xsl:template match="book">
> > <xsl:copy-of select="." />
> > </xsl:template>
> >
> > </xsl:stylesheet>
> >
> > -- sorting --
> > <?xml version="1.0" encoding="UTF-8" ?>
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> > <xsl:output method="xml" indent="yes" encoding="UTF-8" />
> > <xsl:strip-space elements="*" />
> > <xsl:variable name="kkoch3a" select="document('kkoch3a.xml')" />
> > <xsl:variable name="kkoch3b" select="document('kkoch3b.xml')" />
> >
> > <xsl:template match="/">
> > <xsl:call-template name="sort-books" />
> > </xsl:template>
> >
> > <xsl:template name="sort-books">
> > <bookshelf>
> > <xsl:for-each select="$kkoch3a/bookshelf/book |
> > $kkoch3b/bookshelf/book">
> > <xsl:sort select="title" />
> > <xsl:apply-templates select="." />
> > </xsl:for-each>
> > </bookshelf>
> > </xsl:template>
> >
> > <xsl:template match="book">
> > <xsl:copy-of select="." />
> > </xsl:template>
> >
> > </xsl:stylesheet>
> > --
> > Charles Knell
> > cknell@xxxxxxxxxx - email
> >
> >
> >
> > -----Original Message-----
> > From: Karl Koch <TheRanger@xxxxxxx>
> > Sent: Wed, 20 Jul 2005 21:29:02 +0200 (MEST)
> > To: "Mulberry list" <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > Subject: Combining two XML files into one
> >
> > Hello all,
> >
> > how can I combine two XML files into one assuming that I have the same
> > structre in both files like this:
> >
> > (The first file)
> >
> > <bookshelf>
> > <book><title>1st Book</title>
> > <book><title>2nd Book</title>
> > <book><title>3rd Book</title>
> > <bookshelf>
> >
> > (The second file)
> >
> > <bookshelf>
> > <book><title>4th Book</title>
> > <book><title>5th Book</title>
> > <book><title>6th Book</title>
> > <bookshelf>
> >
> >
> > I wouild like to have the following file:
> >
> > <bookshelf>
> > <book><title>1st Book</title>
> > <book><title>2nd Book</title>
> > <book><title>3rd Book</title>
> > <book><title>4th Book</title>
> > <book><title>5th Book</title>
> > <book><title>6th Book</title>
> > <bookshelf>
> >
> > Is this possible? If yes, how can I do that? I am using SAXON.
> >
> > Kind Regards,
> > Karl
> >
> > --
> > 5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
> > +++ GMX - die erste Adresse fo?=r Mail, Message, More +++
> >
>
> --
> 5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
> +++ GMX - die erste Adresse fo?=r Mail, Message, More +++
>
--
GMX DSL = Maximale Leistung zum minimalen Preis!
2000 MB nur 2,99, Flatrate ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl
|
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
|

Cart








