|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Removing empty namespace definition from an elemen
I'm not certain what your solutions translates to? As you can see from
the input XML file, the sequence is defined under the ads namespace.
Which I assume means that all elements under the sequence element
inherit that namespace (but are not printed for redundancy reasons).
<sequence version="1" description="Deploy Server"
command="DeployServer.xml"
xmlns="http://schemas.microsoft.com/ads/2003/sequence">
<task description="Launch Image Deployment Tool" doesReboot="false">
<command target="controller">C:\Patches\Tools\dpIDT.vbs</command>
<parameters>
<parameter>$device.system.name$</parameter>
<parameter>_osName_</parameter>
</parameters>
</task>
The match is on a parameter in that ads namespace (otherwise it would
not find the element)
xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ads="http://schemas.microsoft.com/ads/2003/sequence"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:variable name="osName" select="'WIN2K3'"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="ads:parameter[.='_osName_']">
<xsl:element name="parameter"><xsl:value-of
select="$osName"/></xsl:element>
</xsl:template>
But when I output the parameter element, it puts a xmlns="" as an
attribute. I don't want ANY NAMESPACE defined as an attribute for this
element. I want it to read exactly like the input; except the variable
_osName_ is being replaced with the XSLT variable $osName.
Does this make my problem clearer?
Thanks,
--Joel
-----Original Message-----
From: David Carlisle [mailto:davidc@xxxxxxxxx]
Sent: Wednesday, August 04, 2004 11:56 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Removing empty namespace definition from an element
I assume that you haven't shown the full output.
XSLT will only do this:
<parameters>
<parameter>$device.system.name$</parameter>
<parameter xmlns="">W
If the parameters element and the first parameter element are in some
namespace and the second parameter is in no-namespace.
(well actually it would be allowed to add redendant xmlns="" even if
that wasn't the case, but I've never seen an XSLT system do that) So I
assume that there is a namespace declaration on a parent element of teh
fragment you showed?
<xsl:element name="parameter">
is generating a parameter element in no-namespace I assume that your
other elements are in a namespace perhaps copied from a source file.
The solution is to use that namespace here, either using teh namespace
attribute of xsl:element or more simply putting xmlns="something" on
xsl:stylesheet.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








