Re: [xsl] Trying to build a schema and add a namespace

Subject: Re: [xsl] Trying to build a schema and add a namespace
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 20 Apr 2005 17:11:48 +0100
  A revised stylesheet with one entry
  being for the default namespace (no prefix) would be useful.

Note that attributes have a different meaning for no-prefix than
elements, so to include that case you have to use element nodes rather
than attribute nodes to generate the namespaces, but basically it's as

<namespace prefix="xsd">schema ns</namespace>
<namespace prefix="">defaulttns</namespace>
<namespace prefix="yy">ACORD default URL</namespace>
<namespace prefix="acord-doc">ACORD doc URL</namespace>
<namespace prefix="jag">ACORD JAG URL</namespace>

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="";
             xmlns:xsd="schema ns"
<xsl:output method="xml" indent="yes" />

<xsl:template match="/">


<xsl:variable name="rtf">
<xsl:for-each select="/namespaces/namespace">
      <xsl:variable name="x"><xsl:if test="string(@prefix)">:</xsl:if></xsl:variable>
      <xsl:element name="{@prefix}{$x}foo" namespace="{.}"/>
<xsl:copy-of select="saxon:node-set($rtf)/*/namespace::*"/>


$ saxon ns2.xml ns2.xsl
<?xml version="1.0" encoding="utf-8"?>
   xmlns:xsd="schema ns"
  xmlns:yy="ACORD default URL"
  xmlns:acord-doc="ACORD doc URL"
  xmlns:jag="ACORD JAG URL"/>

This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread