|
[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 and DTD/Sch
You can mimic inheritance with RELAX NG. [1] Also, Murata-san has written a nice vocabulary for OO that can be transformed into RELAX NG with XSLT. [2] For a RELAX NG view on simple vs. multiple inheritance, see James Clark's design paper. [3] Mike [1] http://lists.oasis-open.org/archives/relax-ng/200108/msg00107.html [2] http://www.asahi-net.or.jp/~eb2m-mrt/oo.html [3] http://www.thaiopensource.com/relaxng/design.html#section:15 > -----Original Message----- > From: Derek Denny-Brown [mailto:derekdb@m...] > Sent: Monday, July 08, 2002 10:06 AM > To: Michael Fitzgerald; xml-dev@l... > Subject: RE: RELAX NG and type derivation [Was:] XQuery and > DTD/Schema? > > > -----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
|
|||||||||

Cart








