Re: [xsl] not getting expected matches

Subject: Re: [xsl] not getting expected matches
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 16 Sep 2004 12:13:49 -0400
Luke,

At 10:04 AM 9/16/2004, you wrote:
okay, the expression I'm using is:

<xsl:template match="//*[starts-with(name(), 'SEG')]/NAME">
        <xsl:value-of select="."/><xsl:text>*</xsl:text>
</xsl:template>


I'm thinking that this should return me the text of the 'NAME' child of all of the elements that start with 'SEG' correct?

Correct, assuming this template ever gets matched. Which it will by default, but without seeing the rest of the stylesheet we can't know for sure.


but I have this as my XML...

<X12_810Transaction xmlns="http://red-man.com/namespace"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://red-man.com/namespace J:/XML/schemas/x12_810Transaction.xsd">

... ah, you have a namespace declared....


Make the red-man.com namespace explicit in your stylesheet (no, you don't have to change the source), and your template, with a little tweaking, will match:

<xsl:stylesheet xmlns:rm="http://red-man.com/namespace"; .... >

and then

<xsl:template match="*[starts-with(local-name(), 'SEG')]/rm:NAME">
        <xsl:value-of select="."/><xsl:text>*</xsl:text>
</xsl:template>

what I did:
* removed unhelpful "//" from match expression
* changed name() to local-name() so we don't have to worry about the namespace prefix being there (or not)
* added the namespace prefix to rm:NAME so it would match a NAME element in the rm namespace


Now, assuming your stylesheet allows the nodes of interest to be selected, they will match.

I hope this helps,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


--+------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> --+--

Current Thread