Martin,
Martin> > We can overcome this problem by slightly extending the trigger element
Martin> > of NVDL. For example, we can allow a <trigger> to specify a list of
Martin> > qualified names. This <trigger> element detach an element from its
Martin> > parent element when (1) the qualified name of this element is in this
Martin> > list and (2) the qualified tag name of the parent element is NOT in
Martin> > this list. However, the use of different namespaces for different
Martin> > vocabularies is a much better solution.
Martin>
Martin> Can you let us have an example of this new functionality so we can see how
Martin> it works in context?
Sure. Here goes an ugly example.
<rules xmlns="
http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"
startMode="xhtml2">
<trigger ns="
http://www.w3.org/2002/06/xhtml2/"
name="a abbr access address blockcode blockquote body caption cite code col
colgroup dd dfn di div dl dt em ev:listener h handler head heading
html img kbd l label li link meta nl object ol p param pre quote ruby
samp section separator span standby strong style sub summary sup table
tbody td tfoot th thead title tr ul var"/>
<trigger ns="
http://www.w3.org/2002/06/xhtml2/"
name="model input secret textarea output upload range trigger submit select
select1 action dispatch rebuild recalculate revalidate refresh
setfocus load setvalue send reset message insert delete setindex
group switch repeat"/>
<mode name="xhtml2">
<namespace ns="
http://www.w3.org/2002/06/xhtml2/">
<validate schema="xhtml2.rng" useMode="Xforms"/>
</namespace>
</mode>
<mode name="Xforms">
<namespace ns="
http://www.w3.org/2002/06/xhtml2/">
<validate schema="xforms.rng" useMode="xhtml2"/>
</namespace>
</mode>
</rules>
Why is this example so ugly? Because XHTML2 abuses namespaces
in my opinion. Probably, this abuse is intended to make schema
authoring *easier*. Yes, it becomes easier when we only use
RELAX NG or W3C XML Schema. But, when we have NVDL, it actually
becomes harder!
So, should we extend the <trigger> element of NVDL?
Cheers,
--
MURATA Makoto <
murata@...>