[Home] [By Thread] [By Date] [Recent Entries]
I agree with all that has been said here. There is just one thing I'd like to add regarding RELAX NG's approach to data types: you can do just about anything, provided you write a data type library, in case nobody wrote it for you. An article about it here: http://www-128.ibm.com/developerworks/xml/library/x-custyp/ Radu Cernuta 2008/4/10, noah_mendelsohn@u... <noah_mendelsohn@u...>: > 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 > > > > > _______________________________________________________________________ > > 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] |

Cart



