Subject: RE: [xsl] Newbie: template match using a mix of namespace prefix and none p refix From: Palmer Magnus <Magnus.Palmer@xxxxxxxxxxxx> Date: Mon, 9 Sep 2002 10:58:01 +0200 |
Hi Tennison, > 1) Absolute path, not working > <xsl:template > match="/msg/req/dta/SHOW_PO_007/DATAAREA/SHOW_PO/POHEADER/of:USERAREA/of:TRA > NSMETHD" mode="copy"> <<My guess would be that these paths aren't working because the msg, <<req, dta, SHOW_PO_007, DATAAREA, SHOW_PO and/or POHEADER elements are <<in a namespace in your XML document. Without seeing your source <<document I can't tell, but this seems to be the most likely <<explanation. The namespaces are as following: <xsl:stylesheet version="1.0" xmlns="x-schema:http://scshost/schemas/oagis/7.1/011_show_po_007.xdr" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:of="x-schema:http://scshost/schemas/oagis/7.1/oagis_fields.xdr" xmlns:os="x-schema:http://scshost/schemas/oagis/7.1/oagis_segments.xdr" xmlns:scala="x-schema:http://scshost/schemas/oagis/7.1/scala_fields.xdr" > Hence I asume that the default namespace is using the 011_show_po_007.xdr namespace. These namespaces are declared in the SHOW_PO_007 element of the incoming source document. This is a partial trace from Saxon: </Source><!-- /msg[1]/req[1]/dta[1]/SHOW_PO_007[1]/DATAAREA[1]/SHOW_PO[1]/POHEADER[1]/of:U SERAREA[1]/text()[8] --> <Source node="/msg[1]/req[1]/dta[1]/SHOW_PO_007[1]/DATAAREA[1]/SHOW_PO[1]/POHEADER[1 ]/of:USERAREA[1]/of:TRANSMETHD[1]" line="77" mode="*default*"> <Instruction element="xsl:template" line="20"> <Instruction element="xsl:copy" line="21"> <Instruction element="xsl:apply-templates" line="22"> To my understanding (being fairly new to XSL*) Saxon has identified the same source path as I am using, or? > 3) This one is working, but now I may match POLINE tags as well... > <xsl:template match="//of:USERAREA/of:TRANSMETHD" mode="copy"> <<This template will only match of:TRANSMETHD elements that are children <<of of:USREAREA elements, so I don't understand why you say that it <<might match POLINE elements as well. Well this is probably because you haven't seen the source document structure. There might be a POHEADER/of:USERAREA/of:TRANSMETHD and several POLINE[1->n]/of:USERAREA/of:TRANSMETHD Thanks for clarifying the // :) Best regards Magnus XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Newbie: template match us, Jeni Tennison | Thread | Re: [xsl] Newbie: template match us, Jeni Tennison |
Re: [xsl] Newbie: template match us, Jeni Tennison | Date | Re: Re: [xsl] Getting desired node , alex ek |
Month |