[
Lists Home |
Date Index |
Thread Index
]
This isn't really an xml-dev question, more xsl-list, but anyway...
select="document('C:\Inetpub\wwwroot\development\shelco_company_registra
tion_form\xml\field.xml')/root"/>
document takes a URI not a windows file path so that should be
select="document('file:///C:/Inetpub/wwwroot/development/shelco_company_registration_form/xml/field.xml')/root"/>
You don't want to do this:
<xsl:template match="*">
<xsl:if test="name() = 'field'">
<testing />
<xsl:apply-templates ***** call the field template!!
Firstly testing with name() is unsafe (if you are using namespaces) and
probably inefficient you would use test="self::field" to test for a
field element but this is exactly what teh xslt processor does when it
is matching templates there is no need to re-implement this with if
tests at the xsl level.
<xsl:element name="{name()}">
easier to use <xsl:copy here
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
That is <xsl:copy-of select="@*"/>
So you just need
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
This template will fire for all elements except field, your field
template will be used for field elements as that has a higher default
priority.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
|