xsl-list
[Top] [All Lists]

Re: [xsl] namespace syntax

2009-08-04 20:23:34
Martin,

So use e.g. xmlns:nsml=http://www.inewsroom.com
that did it, many thanks

-rvg

----- Original Message ----- From: "Martin Honnen" <Martin(_dot_)Honnen(_at_)gmx(_dot_)de>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Tuesday, August 04, 2009 10:44 PM
Subject: Re: [xsl] namespace syntax


Robert Van Gemert wrote:

I am using msxml3 and am having difficulty parsing namespace elements, I need to get the value of the NSML fields

<mos>
<mosID>gvg.auroraplay.mos</mosID>
<ncsID>MNEWS</ncsID>
<roStorySend>
 <roID>MNEWS/TVNEWS.AUSNET.RUNDOWNS-IGNITE.AM-TWO</roID>
 <storyID>492893613</storyID>
 <storySlug>1130 AUSNET 030809</storySlug>
 <storyNum></storyNum>
 <mosExternalMetadata>
  <mosPayload>coding=3D"utf-16"?&gt;
   <nsml:nsml xmlns:nsml=3D"http://www.inewsroom.com";>
                              ^^^^^^^^^^^^^^^^^^^^^^^^^
So here the URL is http://www.inewsroom.com.

    <nsml:head>
     <nsml:meta words=3D"1" rate=3D"180" break=3D"yes"></nsml:meta>
     <nsml:rgroup number=3D"2"></nsml:rgroup>
     <nsml:wgroup number=3D"6"></nsml:wgroup>
     <nsml:formname>TVNEWS-2            </nsml:formname>
     <nsml:storyid>1d60f5ad:003b5638:4a76334b</nsml:storyid>
    </nsml:head>
    <nsml:fields>
     <nsml:f id=3D"page-number"></nsml:f>
     <nsml:f id=3D"title">1130 AUSNET 030809</nsml:f>
[snip]

My stylesheet is:

<?xml version=3D"1.0"?>
<xsl:stylesheet version=3D"1.0" =
xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform"; =
xmlns:nsml=3D"http://www.avid.com";>
                ^^^^^^^^^^^^^^^^^^^
while here you use a completely different URL. You can choose a different prefix in the XML and in the stylesheet but in your stylesheet you will need to bind a prefix to the URL used in the XML if your stylesheet needs to select/match elements in that namespace. So use e.g.
  xmlns:nsml="ttp://www.inewsroom.com"
in the stylesheet.

<xsl:template match=3D"/">

 <xsl:for-each select=3D"//mosPayload/nsml:fields/f">

<xsl:for-each select="mos/roStorySend/mosExternalMetadata/mosPayload/nsml:nsml/nsml:fields/nsml:f">

should process the nsml:f elements in your XML input.




--

Martin Honnen
http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

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