OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Identiy Transform Question

[ Lists Home | Date Index | Thread Index ]

[Dave Simmonds]

> I'm a little new to this XSL stuff so let me know if I'm completely of
base.
> <-- I'm sure you will even without my saying this :-)
>
>
>
> I have an XML document (schema) that I want to transform using XSL.  The
> transform will be an "almost" identity transform.  In other words there
will
> be minor changes.  Some of the types of changes that I will need to make
> include the following:
>...
> I actually have a transform (see below) that I believe is a good start to
> solving this problem, but I am running into 1 significant problem. The
piece
> of the transform that iterates over the attributes of an element fails to
> see any namespace attributes.  You can run this transform against any XML
> document and it currently outputs the identity XML document minus and
> namespace attributes.  My question is why?  Or more importantly how do I
get
> it to give me the namespace attributes so that I can output them?
>
>
Here's a classic identity transform that picks up the namespaces:

<xsl:template match="/">
 <xsl:apply-templates/>
</xsl:template>

<xsl:template match='node()|@*'>
 <xsl:copy>
  <xsl:apply-templates select='node()|@*'/>
 </xsl:copy>
</xsl:template>

You can intercept specified elements by using

<xsl:if test='name()="theElement">

and calling a different template.  If you want to get namespace nodes, you
have to ask some kind of node.  This version will get all nodes, namespace,
PI, etc.

Best to go to the Mulberry xslt list for these questions.

Cheers,

Tom P





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS