[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: RE: RELAX NG and type derivation [Was:] XQuery andDTD/Sche
Hi, I checked this message. I think my write-up is kind of preliminary, though itdiscusses exactly what Michael said. I think is is important to understand two different ways of doing subtyping --explicit subtyping and implicit subtyping. The issues in implicit subtyping are not fully solved. I will try to upgrade my report at my earliest, but I will encourage you to read the preliminary version, and please give any comments you may have. you may please find the report at http://www.cs.ucla.edu/~mani/xmlresearch/datamodels/subtyping.doc (or) http://www.cs.ucla.edu/~mani/xmlresearch/datamodels/subtyping.pdf I conjecture this will be an important topic to be discussed and probably solved in the next few months. thanks and regards - murali. On Mon, 8 Jul 2002, Derek Denny-Brown wrote: > -----Original Message----- > >From: Michael Fitzgerald [mailto:mike@w...] > > > > RELAX NG can do type derivation by restriction, union, and list. In some > > ways, RELAX NG's list type derivation is more powerful that XML Schema's > > derivation.[1] All the facets that are available in XML Schema are available > > in implementations of RELAX NG. In what specific ways does RELAX NG fall > > short in type derivation? > > > As for named typing/subtyping in XML Schema, I think Murali Mani's analysis > > is worthy of consideration.[2] There he discusses implicit and explicit > > assignment, subsumption, and even (briefly) an instanceof method a la > > XQuery. RELAX NG does not offer named typing yet, but a proposal is on the > > table to provide it in 2.0.[3] As such it will most probably be presented in > > a module rather than added to the core specification, in keeping with RELAX > > NG's layered approach. I predict it will be a well-reasoned spec that won't > > later invoke pangs of regret and won't be unduly difficult to implement or > > use. > > I was not talking about simple-type (as WXS uses the term) derivation. I was talking about complex type derivation. The ability to define a type 'book' > <xs:complexType name="book"> >  <xs:sequence> >    <xs:element name="title" type="xs:string"/> >    <xs:element name="author" type="properName"/> >    <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any"/> >    <xs:element ref="chapter" maxOccurs="unbounded"/> >    <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any"/> >  </xs:sequence> > </xs:complexType> >  > And then differentiate the sub-types via subtyping. > <xs:element name="referenceBook"> >  <xs:complexType> >   <xs:complexContent mixed="0"> >      <xs:restriction base="book"> >       <xs:sequence> >         <xs:element name="title" type="xs:string"/> >          <xs:element name="author" type="properName"/> >          <xs:element ref="chapter" maxOccurs="unbounded"/> >          <xs:element name="references" type="sourceReference" minOccurs="0" maxOccurs="unbounded"/> >         </xs:sequence> >      </xs:restriction> >   </xs:complexContent> >  </xs:complexType> > </xs:complexType> >  > An application can now unambiguously query whether a given element is of type 'book'. With RELAX-NG, the closest you can come is to ask if an instance matches 'book', but that in now way unambiguously determines whether it was intended to be considered a type of book or not. >  > This ability to extend the type model of one schema is one of the core principles behind OOP, and as such is something that people want in a schema language. >  > Also note, that I am not even remotely defending WXS as a complete, well-designed, nor elegant spec. It just is, and it achieves certain things which people wanted. I am simply arguing that it is not an utter failure, and that there exists nothing which could fully replace it currently. There is no doubt in my mind that RELAX-NG is a more elegant creation, nor that it could be extended to fill the same role as WXS. The problem is that WXS is already out there, and a large number of vendors are already committed to it. If that is not an issue for you, use RELAX-NG. I would. >  > -derek >  >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|