[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: RE: [relax-ng] trang instance input module
Does this mean you are satisfied with Examplotron as an instance-to-schema transformation on, say, a pipeline, and that you may/will not add an instance input module to Trang? Mike > -----Original Message----- > From: James Clark [mailto:jjc@jclark.com] > Sent: Thursday, January 30, 2003 2:00 AM > To: Eric van der Vlist; RELAX NG List > Cc: examplotron@xmlschemata.org > Subject: Re: [relax-ng] trang instance input module > > > > > > > About Examplotron, I plan to add some additional features to get to the > > 80/20 point (probably including simple types, control over attributes, > > mixed contents and interleave) and then "import" the RNG patterns in the > > Examplotron namespace for users who would like to stay with Examplotron > > for the remaining 20%. > > This seems like a good approach to me. I think there should be a > bidirectional mapping between RNG and Examplotron: any RNG schema > should be > straightforwardly transformable into Examplotron. By "importing" the RNG > patterns, you almost get this. I think the only missing thing > would be the > ability to do annotation elements. One way to solve this would be to add > an eg:annotation element to Examplotron: > > <eg:annotation> > <anyNonRelaxNGElement>...</> > <eg:annotation> > > which would be transformed into RNG simply by removing the eg:annotation > attribute. > > As for the 80%, I would want: > > a) Control over whether an attribute is required or optional. > One approach > would be to have 3 attributes: an inherited attribute saying whether > attributes are by default required or optional; an attribute that > lists the > names of attributes that are optional for this element (when the > default is > required); an attribute that lists the names of attributes that are > required for this element (when the default is optional). > > b) Datatyping. This is crucial but I don't immediately see a > good design. > It would be nice to be able to write: > > <th align="left|center|right" valign="middle|top|bottom" colspan="Number" > rowspan="Number" abbr="Text"> > ... > </th> > > and have it turn into: > > element th { > attribute align { "left" | "center" | "right" }?, > attribute valign { "middle" | "top" | "bottom" }?, > attribute colspan { Number }, > attribute rowspan { Number }, > attribute abbr { Text } > ... > } > > On the other hand, in some cases it might be preferable to stick > to a purer > example metaphor: > > <th align="left" valign="middle" colspan="2" rowspan="2" abbr="any old > text"> > ... > </th> > > But then you need some way to specify a mapping from example values into > datatypes, and that starts to get complicated for the user. One > way might > be to point to a file containing a list of datatype definitions (ordered > from least general to most general), and you use the first one > that matches > the example value. This would be hard to implement in pure XSLT though. > One thing I think is important if users are going to maintain > there schemas > in Examplotron: I think they need be able to conveniently reference > definitions not just builtin datatypes. > > James > > > > > ---------------------------------------------------------------- > To subscribe or unsubscribe from this elist use the subscription > manager: <http://lists.oasis-open.org/ob/adm.pl> >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC