- From: Felix Sasaki <fsasaki@w3.org>
- Date: Sun, 9 Sep 2012 14:04:28 +0200
- To: Yves Savourel <ysavourel@enlaso.com>
- Cc: Arle Lommel <arle.lommel@dfki.de>, Jirka Kosek <jirka@kosek.cz>, public-multilingualweb-lt@w3.org
- Message-ID: <CAL58czoxR1OD5NCQmyaw4yGV4HFqWD+9zUjKigWES=qXfhg2GQ@mail.gmail.com>
Same here - of course, Jirka, feel free to take that action item to do the
refactoring :) , if that works for you.
Best,
Felix
2012/9/7 Yves Savourel <ysavourel@enlaso.com>
> Jirka and Felix are the schema experts.
> My 2 cents are: +1
>
> -ys
>
> -----Original Message-----
> From: Arle Lommel [mailto:arle.lommel@dfki.de]
> Sent: Friday, September 07, 2012 6:48 AM
> To: Jirka Kosek
> Cc: public-multilingualweb-lt@w3.org
> Subject: Re: Schema refactoring
>
> Jirka,
>
> What you suggest makes a lot of sense to me and I'm entirely in favor of
> this approach. But I suspect Yves and Felix are the ones who will need to
> approve.
>
> Best,
>
> -Arle
>
> On Sep 7, 2012, at 2:38 PM, Jirka Kosek <jirka@kosek.cz> wrote:
>
> > Hi,
> >
> > while I was inspecting datatypes used in schemas I have noticed that
> > current approach for schema design taken from ITS 1.0 contains a lot
> > of redundancy. For example for WithinText data category we have 5 very
> > similar definitions of corresponding attribute:
> >
> > [19] att.local.no-ns.attribute.withinText ::= attribute
> withinText {
> > "yes" | "no" | "nested" }?
> >
> > [29] att.local.with-ns.attribute.withinText ::= attribute
> > its:withinText { "yes" | "no" | "nested" }?
> >
> > [99] withinTextRule.attributes ::= att.selector.attributes,
> attribute
> > withinText { "yes" | "no" | "nested" }
> >
> > [101] att.withinText.attribute.withinText ::= attribute
> > its:withinText { "yes" | "no" | "nested" }?
> >
> > [103] att.withinText.html5.attribute.its-within-text ::=
> attribute
> > its-within-text { "yes" | "no" | "nested" }?
> >
> > This is hard to maintain and keep synchronized. I propose to redesign
> > whole schema in the following way:
> >
> > 1. For each data category create pattern holding datatype which can be
> > reused:
> >
> > withinText.type = "yes" | "no" | "nested"
> >
> > 2. Create pattern holding attribute definition in no namespace (for
> > use on rules/span/ruby):
> >
> > attribute.withinText.nons = attribute withinText { withinText.type }
> >
> > 3. Create pattern holding attribute definition in ITS namespace (for
> > use on elements in a host language):
> >
> > attribute.withinText = attribute its:withinText { withinText.type }
> >
> > 4. Create pattern hodling attribute for use in HTML5:
> >
> > attribute.withinText.html = attribute its-within-text {
> > withinText.type }
> >
> > 5. Update all references to use new patterns above
> >
> > 6. Make sure that resulting generated schema uses its- prefix on all
> > patterns in order to prevent clashes with other schemas.
> >
> > The main advantages of new approach are:
> >
> > - single definition of datatype -- this is important especially for
> > newly introduced categories containing long lists of enumerated values
> >
> > - shorter schema and easier to maintain schema
> >
> > All comments welcomed.
> >
> > Jirka
> >
> > --
> > ------------------------------------------------------------------
> > Jirka Kosek e-mail: jirka@kosek.cz http://xmlguru.cz
> > ------------------------------------------------------------------
> > Professional XML consulting and training services DocBook
> > customization, custom XSLT/XSL-FO document processing
> > ------------------------------------------------------------------
> > OASIS DocBook TC member, W3C Invited Expert, ISO JTC1/SC34 member
> > ------------------------------------------------------------------
> >
>
>
>
>
>
--
Felix Sasaki
DFKI / W3C Fellow
Received on Sunday, 9 September 2012 12:04:53 UTC