[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: What is the "market share" of Relax NG vs XSD schema ?
I agree with everything Mike says. Furthermore, while it's true that RelaxNG is the simpler, cleaner, and in certain dimensions more powerful language, and with a nicer syntax, one can make the case that XSD has technical advantages for certain scenarios as well. There is a tradeoff between building languages in which the parse is deterministic (XSD) vs. non-deterministic (RelaxNG). RelaxNG, for example, has a very nice story about closure under intersection/union/difference: you can always write a RelaxNG schema that accepts just exactly what is accepted by any two other RNG schemas, what's accepted by either of them, etc. XSD can't in general do the equivalent. On the other hand, I would claim that XSD has a stronger story regarding type assignment, and it has a stronger story about static typing. The XQuery language uses XSD as its type system. You can, for example, declare in XSD a type called "Measurement" that has calls for a decimal number as the element content, with an attribute specifying units such as "inches" or "cm". You can use that type in your schema to declare elements named "Width" and "Height", which you can show in advance will always accept the same content. Furthermore, you can define XQuery functions which return as their value a such a Measurement. It would be interesting to see how the XQuery language would change if RelaxNG were used as the base typing system. I'm not saying the results would be bad, but I'm fairly sure they would be different. For similar reasons, I think you can make the case that XSD has a stronger story about databinding, particular binding into systems that themselves are statically typed. The obvious binding of the above example to Java or .Net is a class called "Measurements", and member variables called "width" and "height". Because the to variables are of the same type, they are assignment compatible: you can write width=height; and it will work. You can do Java and .Net databinding with RelaxNG, but I think it works best with a deterministic subset of the language, and I think it's fair to say that RelaxNG doesn't give as much attention to facilitating the assignment of compatible types in examples like this. So, in addition to all the factors that Mike lists, I think there are non-trivial technical tradeoffs. Some of them do strongly favor RelaxNG for many purposes, but XSD has some technical strengths as well, and some of those are exploited by systems like XQuery and by various databinding frameworks. (I should say, for those who don't know me, that I was involved to a significant degree with the design of XSD. I've tried to make the above a balanced analysis, but it's certainly possible that reasonable people would see things differently.) Noah -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- "Michael Kay" <mike@s...> 04/09/2008 05:22 AM To: "'Ben Stover'" <bxstover@y...>, "'xml-dev'" <xml-dev@l...> cc: (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: RE: What is the "market share" of Relax NG vs XSD schema ? > > Why is Relax NG not becoming popular? > Looking at its properties and advantages over XSD it should > become the one and only schema defintion language > It's an old story. Why did the Dvorak keyboard not become popular? Why aren't we all using Macs? Why do we use ludicrously insecure email protocols that flood the world with spam, when we could have adopted X.400? Technical quality was never enough to ensure success; the world will not beat a path to your door just because you have a better mousetrap. When it comes to standards adoption, most people will not adopt X unless they believe that everyone else will adopt X. So success depends on having a convincing endorsement from organizations that have the reputation to either predict the future or create it. Relax NG has never had that endorsement. (And indeed, ISO doesn't have that reputation.) Michael Kay http://www.saxonica.com/ _______________________________________________________________________ XML-DEV is a publicly archived, unmoderated list hosted by OASIS to support XML implementation and development. To minimize spam in the archives, you must subscribe before posting. [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ Or unsubscribe: xml-dev-unsubscribe@l... subscribe: xml-dev-subscribe@l... List archive: http://lists.xml.org/archives/xml-dev/ List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
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
|