xsl-list
[Top] [All Lists]

Re: default namespace in match attribute of xsl:template

2003-02-04 00:58:10
----- Original Message ----- 
From: "Peter Paulus" <paulus(_at_)neroc(_dot_)nl>
To: "XSL-List" <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Tuesday, February 04, 2003 7:36 AM
Subject: [xsl] default namespace in match attribute of xsl:template


Hello XSL-list,

We have an XML that looks like this:

<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope'>
<soap:Boby>
<reponse xmlns='someuri'>
    <files>
    <files>
</response>
</soap:Body>
</soap:Envelope>

the XSL looks like this:

<xsl:template match='/'>
<xsl:apply-templates select='Envelope'/>
</xsl:template>

<xsl:template match='soap:Envelope'>
<xsl:message>soap:Envelope</xsl:message>
<xsl:apply-templates select='Body'/>
</xsl:template>

<xsl:template match='soap:Body'>
<xsl:message>soap:Body</xsl:message>
<xsl:apply-templates select='response'/>
</xsl:template>

<xsl:template match='response'>
<xsl:message>response</xsl:message>
</xsl:template>

The response element falls in the default namespace 'someuri'. How do you
indicate this namespace in the match parameter of xsl:template. We tried
match='response', match=':response', match='namespace::/response',
match='#default:response'.

By the way, we are using Xalan++ 1.4 as the processor. XML is parsed by
Xerces++ 2.1.

Is there a right way to do this?

With kind regards,
Peter Paulus

You must declare a dummy prefix in your stylesheet, e.g. xmlns:dp='someuri',
probably the same place you declare the sop one. Then use 'dp' as a prefix
in your XPath.

Joe

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>