xsl-list
[Top] [All Lists]

RE: Merge Question Take 2 (complex)

2004-04-07 15:27:36
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(_dot_)siegers(_at_)elnorte(_dot_)com] 
Sent: Wednesday, April 07, 2004 6:17 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] 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[(_at_)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(_at_)iThinkdesigns(_dot_)com] 
Sent: Wednesday, April 07, 2004 2:27 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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[(_at_)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


--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--




<Prev in Thread] Current Thread [Next in Thread>