|
Subject: RE: [xsl] merge/join two xml files. From: chun ji <cji_work@xxxxxxxxx> Date: Mon, 27 Nov 2006 17:05:04 -0800 (PST) |
Sorry Michael,
I still can not make it working. Here are the details
of my two Xml files.
1. A.xml
"
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<suites>
<suite thread-count="5" verbose="2"
name="WandSpecial" parallel="null" annotations="JDK5">
<test
name="test.domain.billing.PurchaseOrderTest"
junit="true">
<completed>OK</completed>
<total>10</total>
<passed>3</passed>
<failed>7</failed>
<skipped>0</skipped>
</test>
<test
name="test.domain.billing.TravelExpenseTest"
junit="true">
<completed>OK</completed>
<total>15</total>
<passed>10</passed>
<failed>2</failed>
<skipped>3</skipped>
</test>
</suite>
</suites>
",
2. B.xml
"
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<suites>
<suite thread-count="5" verbose="2"
name="WandSpecial" parallel="null" annotations="JDK5">
<test
name="test.domain.billing.PurchaseOrderTest"
junit="true">
<completed>OK</completed>
<total>10</total>
<passed>10</passed>
<failed>0</failed>
<skipped>0</skipped>
</test>
</suite>
</suites>
"
thanks a lot !
chun
--- Michael Kay <mike@xxxxxxxxxxxx> wrote:
> It depends on many details that you haven't
> supplied, but let's assume
>
> (1) apart from the handling of X, the rest of the
> transformation is copying
> A.xml unchanged.
>
> (2) the element that might or might not contain an X
> child is called P, and
> this is the only P element in the document, and the
> X element from B.xml is
> to be added as the last child of P.
>
> Then with A as the principal input document do:
>
> <xsl:template match="*">
> <xsl:copy>
> <xsl:copy-of select="@*"/>
> <xsl:apply-templates/>
> </xsl:copy>
> </xsl:template>
>
> <xsl:template match="P[not(X)]">
> <xsl:copy>
> <xsl:copy-of select="@*"/>
> <xsl:apply-templates/>
> <xsl:copy-of select="document('B.xml')//X"/>
> </xsl:copy>
> </xsl:template>
>
> Michael Kay
> http://www.saxonica.com/
>
>
> > -----Original Message-----
> > From: chun ji [mailto:cji_work@xxxxxxxxx]
> > Sent: 27 November 2006 20:56
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] merge/join two xml files.
> >
> > (Sorry if this quiestion have been asked before,
> cause I just
> > joined this group 5 minutes ago. )
> >
> > I have two files, A.xml and B.xml. Both files have
> the same root.
> > File A might or might not have node X(and its sub
> elements).
> > File B will always have node X(and its sub
> elements).
> >
> > If File A does not contain node X, XSLT should get
> it from
> > file B and insert it in File A under the defined
> location.
> >
> > If File A contains node X (the location is known),
> XSLT
> > should still get it from file B and replace the
> one existed in File A.
> >
> > Does someone know how to make it happen by XSLT ?
> >
> >
> > Thanks a lot !
> >
> >
> > Chun
> >
> >
> >
> >
> >
> >
>
______________________________________________________________
> > ______________________
> > Cheap talk?
> > Check out Yahoo! Messenger's low PC-to-Phone call
> rates.
> > http://voice.yahoo.com
>
>
____________________________________________________________________________________
Yahoo! Music Unlimited
Access over 1 million songs.
http://music.yahoo.com/unlimited
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] merge/join two xml files., Michael Kay | Thread | Re: [xsl] Standards checkers for XS, Kamal Bhatt |
| RE: [xsl] Using COUNT to create uni, Michael Kay | Date | [xsl] Stylesheet Optimization -- Ho, Jeff Sese |
| Month |