A
Andy Dingley
I'm writing XSLT to transform fntg-schema (our own project's document
schema) into PartnerML, a HTML-like XML dialect used for mobile
phones. I'm using XMLSPy 4.4 to do this.
The schema for PartnerML is supplied in several modules, brought
together by <xs:include> and <xs:import> statements. My understanding
(and experiment) suggests that XMLSpy can't work with such a
modularized schema.
As a result, my XSLT documents have a header like this:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fntg="http://www.futurenet.com"
exclude-result-prefixes="fntg" >
I use the usual XSL namespace, our own namespace for the input
elements, and just use the default namespace for output. Everything
works fine for _using_ the stylesheet, but XMLSpy complains that the
stylesheet is invalid (it can't find the output elements). And when
XMLSpy complains about this, it gets annoying (3 pop-up dialog clicks
every time you try to save the file)
What's going on here (strictly speaking) ? My understanding is that a
document like my stylesheet is to be seen as "valid", because it's
well-formed and it's valid as far as the referenced schemas do
describe it. In the absence of a schema for the default namespace,
then tools should be generous in what they permit.
Now I'm not an XML language-lawyer, so I can't point at the relevant
part of the W3C XML TR offhand. If anyone could do so, or tell me I'm
either definitely right or definitely wrong, then I'd find that really
helpful. Have I got it wrong, or is it XMLSpy ?
Anyone have useful work-arounds ?
Thanks
schema) into PartnerML, a HTML-like XML dialect used for mobile
phones. I'm using XMLSPy 4.4 to do this.
The schema for PartnerML is supplied in several modules, brought
together by <xs:include> and <xs:import> statements. My understanding
(and experiment) suggests that XMLSpy can't work with such a
modularized schema.
As a result, my XSLT documents have a header like this:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fntg="http://www.futurenet.com"
exclude-result-prefixes="fntg" >
I use the usual XSL namespace, our own namespace for the input
elements, and just use the default namespace for output. Everything
works fine for _using_ the stylesheet, but XMLSpy complains that the
stylesheet is invalid (it can't find the output elements). And when
XMLSpy complains about this, it gets annoying (3 pop-up dialog clicks
every time you try to save the file)
What's going on here (strictly speaking) ? My understanding is that a
document like my stylesheet is to be seen as "valid", because it's
well-formed and it's valid as far as the referenced schemas do
describe it. In the absence of a schema for the default namespace,
then tools should be generous in what they permit.
Now I'm not an XML language-lawyer, so I can't point at the relevant
part of the W3C XML TR offhand. If anyone could do so, or tell me I'm
either definitely right or definitely wrong, then I'd find that really
helpful. Have I got it wrong, or is it XMLSpy ?
Anyone have useful work-arounds ?
Thanks