On Fri, 31 Jan 2003 13:35:41 +0700
"James Clark" <jjc@jclark.com> wrote:
> http://www.thaiopensource.com/relaxng/mns.html
In the CD of DSDL Part 4, a validation candidate in another validation
candidate is REPLACED by dummy elements. In MNS, a validation candidate
in another validation candidate is PRESERVED. MNS provides another mechanism
(called pruning) for deleting validation candidates in validation candidates.
I would like to suggest another possibility. It might be good for
XSLT and XForms.
Consider an XML document as follows.
<a:foo xmlns:a="http://exa" xmns:b="http://exb">
<b:bar1>
<b:bar11>
<a:baz1/>
</b:bar11>
<b:bar1>
<b:bar2>
<b:bar21>
<a:baz2/>
</b:bar21>
<b:bar2>
</a:foo>
In the CD or MNS, we have FIVE validation candidates. They are rooted
by <a:foo>, <b:bar1>, <a:baz1>, <b:bar2>, and <a:baz2>.
Another possibility is to create THREE validation candidates. The
first one is:
<a:foo xmlns:a="http://exa" xmns:b="http://exb">
<a:baz1/>
<a:baz2/>
</a:foo>
The second and third are rooted by <b:bar1> and <b:bar2>, respectively.
Why is this good for XForms? Because the repeat element of XForms
intervene between <table> and <tr> of XHTML. By using the above
option, we can easily handle such compound documents. More about this,
see "9.3.2 Creating Repeating Structures Via Attributes" of the XForms
CR. (http://www.w3.org/TR/xforms/slice9.html).
Why is this option good for XSLT? Because we can focus on elements
in the XSLT namespace. In other words, we can handle
<xsl:template match="foo">
<foo>
<xsl:apply-templates/>
</foo>
</xsl:template>
as
<xsl:template match="foo">
<xsl:apply-templates/>
</xsl:template>
Cheers,
-- MURATA Makoto <murata@hokkaido.email.ne.jp> -- DSDL members discussion list To unsubscribe, please send a message with the command "unsubscribe" to dsdl-discuss-request@dsdl.org (mailto:dsdl-discuss-request@dsdl.org?Subject=unsubscribe)Received on Sat Mar 1 10:09:56 2003
This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:27 UTC