Subject: Re: AW: [xsl] Omitting default namespace in the output - XSLT 2.0 From: António Mota <xptm@xxxxxxx> Date: Mon, 20 Dec 2004 17:29:43 +0000 |
Write a empty template for the not wanted elements: > > <xsl:template match="*"> > > <xsl:element name="{local-name()}"> > > <xsl:copy-of select="@*"/> > > <xsl:apply-templates/> > > </xsl:element> > > </xsl:template> <xsl:template match="not-wanted"> <xsl:template> Quoting Huditsch Roman <Roman.Huditsch@xxxxxxxxxxxxx>: > Thanks for the quick reply, Michael. > I hoped that I wouldn't need to use generic templates, > since that would in my case also mean many unwanted > elements copied from my source tree. > But having clarified that <xsl:copy-of> won't help me here, > I think that there is no other way... > > Thank you very much! > > wbr, > Roman > > _______________________________________ > > Roman Huditsch > IT and Electronic Publishing > LexisNexis ARD Orac > Marxergasse 25 > 1030 Vienna > Austria > ph: +43-1-534 52-1514 > f: +43-1-534 52-140 > e-mail roman.huditsch@xxxxxxxxxxxxx > www.lexisnexis.at > > > > -----Urspr|ngliche Nachricht----- > > Von: Michael Kay [mailto:mike@xxxxxxxxxxxx] > > Gesendet: Montag, 20. Dezember 2004 15:20 > > An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Betreff: RE: [xsl] Omitting default namespace in the output - XSLT 2.0 > > > > If you copy elements using xsl:copy-of, the output elements > > will have the same names as the input elements, and the > > system will automatically add declarations of the namespaces > > used in these names. You want your output elements to have a > > different name from the input elements (same local name, > > different URI). So you can't use copy-of. > > > > To copy a tree while renaming elements, use a modified form > > of the identity template rule: > > > > <xsl:template match="*"> > > <xsl:element name="{local-name()}"> > > <xsl:copy-of select="@*"/> > > <xsl:apply-templates/> > > </xsl:element> > > </xsl:template> > > > > Michael Kay > > http://www.saxonica.com/ > > > > > > > -----Original Message----- > > > From: Huditsch Roman [mailto:Roman.Huditsch@xxxxxxxxxxxxx] > > > Sent: 20 December 2004 13:52 > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > Subject: [xsl] Omitting default namespace in the output - XSLT 2.0 > > > > > > Hi, > > > > > > Given an example input like: > > > > > > <?xml version="1.0" encoding="UTF-8"?> <norm > > > xmlns="myDefaultNamespace"> > > > <table> > > > <row> > > > <cell>My Table</cell> > > > </row> > > > </table> > > > </norm> > > > > > > I searched for an easy way to get output data, which is not > > associated > > > to my default namespace any more, with the help of <xsl:copy-of> in > > > XSLT 2.0 I hoped that the attribute "copy-namespaces" set to "no" > > > would help me here, but unfortunately I had no luck with Saxon 8.1.1 > > > > > > My output still looks like > > > > > > <table> > > > <row xmlns="myDefaultNamespace"> > > > <cell>My Table</cell> > > > </row> > > > </table> > > > > > > > > > XSLT: > > > ===== > > > > > > <xsl:template match="ln:table"> > > > <table> > > > <xsl:copy-of select="node() | @*" > > > copy-namespaces="no"/> > > > </table> > > > </xsl:template> > > > > > > > > > Thanks in advance for your input! > > > > > > wbr, > > > Roman > > > _______________________________________ > > > > > > Roman Huditsch > > > IT and Electronic Publishing > > > LexisNexis ARD Orac > > > Marxergasse 25 > > > 1030 Vienna > > > Austria > > > ph: +43-1-534 52-1514 > > > f: +43-1-534 52-140 > > > e-mail roman.huditsch@xxxxxxxxxxxxx > > > www.lexisnexis.at > > O SAPO ja esta livre de vmrus com a Panda Software, fique vocj tambim! Clique em: http://antivirus.sapo.pt
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
AW: [xsl] Omitting default namespac, Huditsch Roman | Thread | [xsl] Translating roman numerals in, Huditsch Roman |
[xsl] Dynamic Table, François Torche | Date | RE: [xsl] Comparing nodes in axis, Michael Kay |
Month |