[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: 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"?> <nsml:nsml xmlns:nsml=3D"http://www.inewsroom.com"> ^^^^^^^^^^^^^^^^^^^^^^^^^ So here the URL is http://www.inewsroom.com. [snip]<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> My stylesheet is:^^^^^^^^^^^^^^^^^^^ 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/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|