RE: [xsl] multiple input xml docs

Subject: RE: [xsl] multiple input xml docs
From: "Lars Huttar" <lars_huttar@xxxxxxx>
Date: Thu, 29 May 2003 14:25:36 -0500
> I have two xml documents, each of the two documents have the same
> structure but with different data and namespaces (ex:)
> (doc 1)
> <people xmlns="http://people.file1";>
>   <name>david</name>
>   <name>glen</name>
>   <name>travis</name>
> <people>
> 
> (doc 2)
> <people xmlns="http://people.file2";>
>   <name>bob</name>
>   <name>jim</name>
>   <name>smith</name>
> <people>
> 
> What I want to accomplish is, read both of the xml files into a single
> xsl and have it transform each of the files differently according to
> their namespaces. Is this possible?? I have been trying for a 
> while with
> no success.  I have been using document() to take in the second xml
> file.

Have you tried testing namespace-uri() to see which namespace
each document's document element belongs to?

E.g. something like

  <xsl:variable name="doc1" select="document('doc1.xml')" />
  <xsl:variable name="doc2" select="document('doc2.xml')" />

  <xsl:template match="/">
    <xsl:for-each select="$doc1 | $doc2">
      <xsl:when test="namespace-uri(.) = 'http://people.file1'">
        <xsl:apply-templates select="." mode="mode1" />
      </xsl:when>
      <xsl:otherwise>
        <xsl:apply-templates select="." mode="mode2" />
      </xsl:otherwise>
    </xsl:for-each>
  </xsl:template>



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread