Subject: RE: [xsl] Unwanted namespace after using COPY-OF From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 8 Jan 2005 23:00:24 -0000 |
xsl:copy-of copies a complete subtree, unchanged, including all its namespaces. exclude-result-prefixes only affects the behavior of literal result elements in the stylesheets, it has no effect on xsl:copy-of. XSLT 2.0 allows you to suppress namespaces by means of a new attribute on xsl:copy-of (copy-namespaces="yes|no") In XSLT 1.0, if you want to copy everything except namespaces you need: <xsl:template match="*"> <xsl:element name="{name()}" namespace="{namespace-uri()}"> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:element> </xsl:template> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: gerritjan [mailto:gerritjankoekkoek@xxxxxxx] > Sent: 08 January 2005 21:12 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Unwanted namespace after using COPY-OF > > Newbe question? > This is my XSLT: > > <?xml version="1.0"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > exclude-result-prefixes="xsi" > > > <xsl:output method = "xml" indent = "yes" /> > > <xsl:template match="/" > > <onderwerpen> > <xsl:apply-templates select="onderwerp"> > </onderwerpen> > </xsl:template> > > <xsl:template match="onderwerp" > > <xsl:variable name="v_titel"><xsl:value-of > select="@titel"/></xsl:variable> > <xsl:variable name="v_datum"><xsl:value-of > select="@datum"/></xsl:variable> > <xsl:variable name="v_datum_einde"><xsl:value-of > select="@datum_einde"/></xsl:variable> > <xsl:variable name="v_menu"><xsl:value-of > select="@menu"/></xsl:variable> > <xsl:variable name="v_submenu"><xsl:value-of > select="@sub_menu"/></xsl:variable> > <xsl:variable name="v_beveiliging"><xsl:value-of > select="@beveiliging"/></xsl:variable> > <onderwerp titel="{$v_titel}" datum="{$v_datum}" > datum_einde="{$v_datum_einde}" menu="{$v_menu}" > submenu="{$v_submenu}" > beveiliging="{$v_beveiliging}" > > <xsl:copy-of select="subtitel"/> > <xsl:copy-of select="kenwoorden"/> > <xsl:copy-of > select="over_cdls_persoon"/> > <xsl:copy-of select="inleidingtekst"/> > <xsl:copy-of select="onderwerptekst"/> > <xsl:copy-of select="auteur"/> > <xsl:copy-of select="bron"/> > </onderwerp> > </xsl:template> > > </xsl:stylesheet> > > The result contains: > <kenwoorden xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <inleidingtekst xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > > It looks like using <XSL:COPY-OF...> is adding this > namespacestatement, > I did not intend this "xmlns:xsi..." to be added! > I try to suppress it by the 2 lines added to the: > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > exclude-result-prefixes="xsi"> > > This does not help? > Any suggestions? > > Gerritjan Koekkoek
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Unwanted namespace after , António Mota | Thread | [xsl] word search a document and el, Susan |
[xsl] word search a document and el, Susan | Date | [xsl] Processing text in XSL, Néstor Boscán |
Month |