xsl-list
[Top] [All Lists]

RE: not getting expected matches

2004-09-16 09:25:09
perfect. code works great, and your explanation was extremely helpful. I only 
hope I can get enough experience to help everyone else on the list out, too...

I'll probably be back with more questions in the future! you just earned 
yourself a life-long list subscriber!

-L

-----Original Message-----
From: Wendell Piez [mailto:wapiez(_at_)mulberrytech(_dot_)com]
Sent: Thursday, September 16, 2004 11:14 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] not getting expected matches


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(_at_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--