Subject: RE: [XCON] Call for Consensus and Discussion: Data Model

From: "Orit Levin" <[email-masked]>
Date: Thu, 17 Nov 2005 13:00:28 -0800

First, I would like to restate my support for the concensus below.
 
One of the major aspects to be addressed in the XCON data model is how
to make it extensible by both standard and vendor specific content.

I started this discussion in
http://www.ietf.org/internet-drafts/draft-levin-xcon-conference-package-
ext-00.txt and presented the requirements in
http://www.softarmor.com/xcon/meets/ietf64/slides/levin-conf-pkg-ext-iet
f64.ppt. During the meeting Jari expressed his preference to just using
RelaxNG for XCON instead, but this would require getting approval from
the XML directorate and other interested parties. Jari also volunteered
to talk to the "XML directorate" regarding this topic.

My preference would be to still take the precautions and RECOMMEND the
simple conventions suggested in
http://www.ietf.org/internet-drafts/draft-levin-xcon-conference-package-
ext-00.txt in order to be compatible with the strict standard-compliant
XML compilers and not just RelaxNG.

In any case, I suggest that we incorporate the alternatives into the
common data draft and continue investigating both directions.

Thanks a lot,
Orit.

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On 
> Behalf Of Oscar Novo (JO/LMF)
> Sent: Thursday, November 17, 2005 1:30 AM
> To: Adam Roach; XCON-IETF
> Subject: RE: [XCON] Call for Consensus and Discussion: Data Model
> 
> Thanks Adam for your help. 
> I think it's good idea to start discussing in the mailing 
> list the elements we need to define in the Data Model. I 
> agree the Data Model draft is too SIP-dependent and should 
> have additional items but, as is written in the document, 
> this first version only try based on the SIP event package to 
> collect the data model information introduce for other draft 
> (it does NOT define new elements) that's why is too SIP-dependent.
> This is one thing we should change in the next version of the draft.
> There are more open issues that we should discuss as well. 
> All your comments are welcome.
> 
> Oscar
> 
> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On 
> Behalf Of Adam Roach
> Sent: 17. marraskuuta 2005 2:32
> To: XCON-IETF
> Subject: [XCON] Call for Consensus and Discussion: Data Model
> 
> [as chair]
> 
> In Vancouver, there was considerable discussion around the 
> XCON data model. There seemed to be considerable consensus 
> around the position that we would use the XML schema defined in
> draft-ietf-sipping-conference-package-12 as the basis for the 
> data model used in XCON.
> 
> There was also a sentiment expressed that this schema needs 
> additional elements added so that it can express all the 
> information relevant to the data model we are defining in XCON. 
> draft-novo-xcon-common-data-model-00 purports to be a 
> starting point for defining such additional elements.
> 
> This message is intended to (a) verify the consensus to use 
> the conference event package as a starting point, and (b) 
> spur discussion around what additional data items are 
> necessary to make it complete for XCON's purposes.
> 
> /a
> 
> _______________________________________________
> XCON mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/xcon
> 
> _______________________________________________
> XCON mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/xcon
> 

_______________________________________________
XCON mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/xcon

---

From: Jari Urpalainen <[email-masked]>
Date: Fri, 18 Nov 2005 10:59:26 +0200

> common data draft and continue investigating both directions.

E.g. in Simple WG W3C Schema has been used extensively. Also it has been
popular to add extensibility to the content models typically with 
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax"/>
e.g.
...
<xs:element name="bar"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax"/>          
... 
Then you want to define an extension to the base spec, so that you'll
place an optional new element to that extension position, i.e. you'd
want to make a forwards and backwards compatible schema:
...
<xs:element name="bar"/>
<xs:element name="foo" type="ext_tns:foo" minOccurs="0">
<xs:any namespace="##other" maxOccurs="unbounded"
processContents="lax"/>          
... 
But you aren't allowed to do this as this violates the infamous Unique
Particle Attribution (UPA) constraint in Appendix H of the Schema spec.
There are several really ugly hacks to overcome this issue.

So the pragmatic model is just to define a new element with a new schema
and say "this element <xyx> extends the element <y> in the base spec.
Once you end up having many extension points the possible combinations
explode and w3c schema validation becomes more and more useless: it can
not detect wrongly positioned elements, root element can be any of the
global elements of the schemas, you can add undefined elements using the
namespaces of the extension schemas etc. Furthermore, UPA constraint
mandates to add new namespaces, I'd much prefer a situation where the
same namespace is re-used so that instance docs are much simpler to us
stupid implementers etc. Also the structures spec is so difficult to
understand that at least I'm unable to get almost anything out of it.

So why all this complaining ? There's a tool that doesn't have these
problems (RELAX NG). Besides, it is imo also much easier to understand
and use. Sure it ain't perfect either, but I'm frustrated because so
many are facing these same W3C Schema issues all the time. So my
preference is to use a tool that fits to the task at hand. 

Probably a comparison I-D of the features would help for WGs to decide
what tools should they use, but personally I don't have doubts what's
the best for pragmatic work (this includes even on-the-fly validations)

thanks,
Jari