Hi Ken
Although the comments are slightly different both yourself and Martin
suggested the same edit.
Unfortunately
----
..
<xsl:element name="{$ln}"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:attribute
namespace="http://www.w3.org/2001/XMLSchema-instance"
name="xsi:noNamespaceSchemaLocation">../../xml_utils/hcdocs.xsd</xsl:attribu
te>
..
----
results in no change to my output. The top (first) output document contains
<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../xml_utils/hcdocs.xsd">
and any other ("included") output documents contain
<document
xsi:noNamespaceSchemaLocation="../../xml_utils/hcdocs.xsd">
When I attempt to validate the documents (in XMLSpy) the first one is valid,
but the other ones report an error
Unable to locate a reference to a supported schema type (DTD, W3C Schema)
within this document instance.
The namespace declaration in <xsl:element..> certainly does have some
effect: if I take it out then none of the output documents are valid, with
it there at least the first document is.
Hoping somebody can see what is going wrong here,
Trevor
-----Original Message-----
From: G. Ken Holman [mailto:gkholman(_at_)CraneSoftwrights(_dot_)com]
Sent: Saturday, 26 September 2009 1:34 a.m.
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Namespace problem, part two
At 2009-09-26 01:13 +1200, Trevor Nicholls wrote:
lower-order output documents are missing a namespace node.
...
<xsl:element name="{$ln}"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
The namespace declaration above has no effect ... namespace
declarations in the stylesheet will only add namespace nodes to
literal result elements.
<xsl:attribute
name="xsi:noNamespaceSchemaLocation">../../xml_utils/hcdocs.xsd</xsl:attrib
u
te>
Above you are creating an attribute node out of thin air, but you
aren't indicating in what namespace the "xsi:" prefix is in.
I would have expected the processor to have given you an error on this.
You should have added this to the <xsl:attribute> instruction:
namespace="http://www.w3.org/2001/XMLSchema-instance"
This tells the processor what you want the prefix of the attribute in
the result tree to be bound to.
I hope this helps.
. . . . . . . . . . . . Ken
--
Upcoming hands-on code list, UBL, XSLT, XQuery and XSL-FO classes.
Interested in other classes? http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
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>
--~--