Subject: RE: Merge Question Take 2 (complex)
From: Pieter Reint Siegers Kort <pieter.siegers@xxxxxxxxxxx>
Date: Wed, 7 Apr 2004 17:39:56 -0500
|
No, I asked what your merged XML looks like, not the output you want to
obtain, you already stated that in your original email... so, let us first
get things clear:
Given your merger xml:
<files>
<file>home.xml</file>
<file>Event.xml</file>
</files>
Would it be something like this?
<?xml version="1.0" encoding="UTF-8"?>
<files>
<file>
<Page id="somepageid" version="1.0" published="1.0" current="1.0">
<Content>
<Local local="en-US">
...lots of sub stuff in "English"
</Local>
<Local local="es-ES">
...lots of sub stuff in "Spanish"
</Local>
</Content>
</Page>
</file>
<file>
<Page>
<News>
<event>
<Title local="en-US">English name</Title>
<Title local="es-ES">Spanish name</Title>
<details>some non language specific details</details>
</event>
<event>
<Title local="en-US">English name</Title>
<Title local="es-ES">Spanish name</Title>
<details>some non language specific details</details>
</event>
</News>
</Page>
</file>
</files>
<prs/>
http://www.pietsieg.com
http://www.pietsieg.com/dotnetnuke
Contributor on www.ASPToday.com
Co-author on "Professional ASP.NET XML with C#", July 2002 by Wrox Press
-----Original Message-----
From: John Hamman [mailto:John@xxxxxxxxxxxxxxxxx]
Sent: Wednesday, April 07, 2004 5:28 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: Merge Question Take 2 (complex)
Like this,
<Page id="somepageid" version="1.0" published="1.0" current="1.0">
<Content>
<Local local="en-US">
...lots of sub stuff in "English"
</Local >
</Content>
<News>
<event>
<Title local="en-US">English name</Title>
<details>some non language specific
details</details>
</event>
<event>
<Title local="en-US">English name</Title>
<details>some non language specific
details</details>
</event>
</News>
</Page>
-----Original Message-----
From: Pieter Reint Siegers Kort [mailto:pieter.siegers@xxxxxxxxxxx]
Sent: Wednesday, April 07, 2004 6:17 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: Merge Question Take 2 (complex)
Hi John,
1. Note that your page.xml is not well-formed (you must close the 2nd
<Local> node element).
2. Your xpath expression is also not correct (the 'id' should be 'local'):
<xsl:copy-of
select="document(file)//Page/Content/Local[@local='en-US']/text()"/>
3. You could simply pass in a parameter 'local' with values either 'en-US'
or 'en-ES', and in your stylesheet using <xsl:if> or <xsl:choose> you can
filter out what you do not want in the output.
Q: What does your merged XML look like?
<prs/>
http://www.pietsieg.com
http://www.pietsieg.com/dotnetnuke
Contributor on www.ASPToday.com
Co-author on "Professional ASP.NET XML with C#", July 2002 by Wrox Press
-----Original Message-----
From: John Hamman [mailto:John@xxxxxxxxxxxxxxxxx]
Sent: Wednesday, April 07, 2004 2:27 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Merge Question Take 2 (complex)
Ok I have successfully merged 2 documents that had the same Root namespace.
But now I have a more complext Merge question.
Now one of my xml docs has the following sytax
Page.xml
<?xml version="1.0" encoding="UTF-8"?>
<Page id="somepageid" version="1.0" published="1.0" current="1.0">
<Content>
<Local local="en-US">
...lots of sub stuff in "English"
</Local >
<Local local="es-ES">
...lots of sub stuff in "Spanish"
</Content>
</Page>
Event.xml
<Page>
<News>
<event>
<Title local="en-US">English name</Title>
<Title local="es-ES">Spanish name</Title>
<details>some non language specific details</details>
</event>
<event>
<Title local="en-US">English name</Title>
<Title local="es-ES">Spanish name</Title>
<details>some non language specific details</details>
</event>
</News>
</Page>
Ok I have a merge xml too
<files>
<file>home.xml</file>
<file>Event.xml</file>
</files>
Merger.xsl
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="files">
<Page>
<xsl:copy-of
select="document(file)//Page/Content/Local[@id='en-US']/*"/>
</ Page >
</xsl:template>
</xsl:stylesheet>
And I want to merge them together, BUT I want only certain information in
this merger so that the output is like this. This is what it would look like
if I only wanted the English information.
<Page id="somepageid" version="1.0" published="1.0" current="1.0">
<Content>
<Local local="en-US">
...lots of sub stuff in "English"
</Local >
</Content>
<News>
<event>
<Title local="en-US">English name</Title>
<details>some non language specific
details</details>
</event>
<event>
<Title local="en-US">English name</Title>
<details>some non language specific
details</details>
</event>
</News>
</Page>
Is this possible like this. Would it be more possible if I changed the way
the xml is in the page.xml and event.xml docs?
Thanks
john
|