OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

relax-ng message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Datatypes



> > > I don't like replace (Issue 20).
> > >
> > >
> >
http://lists.oasis-open.org/archives/trex/200105/msg00120.html#orderSignific
> > ance
> >
> > Do you have an alternative solution that handles XHTML modularization?
>
> <note>I owe very much to Kawaguchi-san about this.</note>
>
> In your rewrite of XHTML modularization, you use "replace" as follows:
>
> form.trex:<define name="form" combine="replace">
> form.trex:<define name="select" combine="replace">
> frames.trex:<define name="html" combine="replace">
> table.trex:<define name="table" combine="replace">
> table.trex:<define name="th" combine="replace">
> table.trex:<define name="td" combine="replace">
> table.trex:<define name="CellHAlign.attrib" combine="replace">
> table.trex:<define name="CellVAlign.attrib" combine="replace">
> table.trex:<define name="scope.attrib" combine="replace">

Getting rid of combine="replace" is pointless unless you get rid of
combine="group".  They are both equally order-dependent.  Here's where my
XHTML mod rewrite uses combine="group":

bdo.trex:<define name="I18n.attrib" combine="group">
csismap.trex:<define name="a.attlist" combine="group">
csismap.trex:<define name="img.attlist" combine="group">
csismap.trex:<define name="object.attlist" combine="group">
events.trex:<define name="a.attlist" combine="group">
events.trex:<define name="area.attlist" combine="group">
events.trex:<define name="form.attlist" combine="group">
events.trex:<define name="body.attlist" combine="group">
events.trex:<define name="label.attlist" combine="group">
events.trex:<define name="input.attlist" combine="group">
events.trex:<define name="select.attlist" combine="group">
events.trex:<define name="textarea.attlist" combine="group">
events.trex:<define name="button.attlist" combine="group">
events.trex:<define name="Common.attrib" combine="group">
form.trex:<define name="form.attlist" combine="group">
form.trex:<define name="input.attlist" combine="group">
form.trex:<define name="select.attlist" combine="group">
form.trex:<define name="option.attlist" combine="group">
form.trex:<define name="textarea.attlist" combine="group">
inlstyle.trex:<define name="Core.attrib" combine="group">
legacy.trex:<define name="a.attlist" combine="group">
legacy.trex:<define name="applet.attlist" combine="group">
legacy.trex:<define name="body.attlist" combine="group">
legacy.trex:<define name="br.attlist" combine="group">
legacy.trex:<define name="caption.attlist" combine="group">
legacy.trex:<define name="div.attlist" combine="group">
legacy.trex:<define name="dl.attlist" combine="group">
legacy.trex:<define name="Heading.attrib" combine="group">
legacy.trex:<define name="hr.attlist" combine="group">
legacy.trex:<define name="img.attlist" combine="group">
legacy.trex:<define name="input.attlist" combine="group">
legacy.trex:<define name="legend.attlist" combine="group">
legacy.trex:<define name="li.attlist" combine="group">
legacy.trex:<define name="object.attlist" combine="group">
legacy.trex:<define name="ol.attlist" combine="group">
legacy.trex:<define name="p.attlist" combine="group">
legacy.trex:<define name="pre.attlist" combine="group">
legacy.trex:<define name="script.attlist" combine="group">
legacy.trex:<define name="table.attlist" combine="group">
legacy.trex:<define name="tr.attlist" combine="group">
legacy.trex:<define name="Cell.attrib" combine="group">
legacy.trex:<define name="ul.attlist" combine="group">
nameident.trex:<define name="a.attlist" combine="group">
nameident.trex:<define name="applet.attlist" combine="group">
nameident.trex:<define name="form.attlist" combine="group">
nameident.trex:<define name="frame.attrib" combine="group">
nameident.trex:<define name="iframe.attlist" combine="group">
nameident.trex:<define name="img.attlist" combine="group">
nameident.trex:<define name="map.attlist" combine="group">
ssismap.trex:<define name="img.attlist" combine="group">
table.trex:<define name="table.attlist" combine="group">
target.trex:<define name="a.attlist" combine="group">
target.trex:<define name="area.attlist" combine="group">
target.trex:<define name="base.attlist" combine="group">
target.trex:<define name="link.attrib" combine="group">
target.trex:<define name="form.attlist" combine="group">

> RELAX allows more than one <elementRule> per label, just like a regular
> grammar can have more than one production rule per non-terminal.  If
> we allow more than one <define> per name, we can cover the first
> five cases.

That's just combine="choice" (which I think you have no objection to, since
it is order-dependent).

>  The remaining three cases can be covered by my proposal
> as below:

Where?

James




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC