[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Răsp: [xml-dev] What is the "market share" of Relax NG vs XSD schema ?
- From: "Radu Cernuta" <radu.cernuta@gmail.com>
- To: noah_mendelsohn@us.ibm.com
- Date: Thu, 10 Apr 2008 20:02:51 +0200
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@us.ibm.com <noah_mendelsohn@us.ibm.com>:
> 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@saxonica.com>
> 04/09/2008 05:22 AM
>
> To: "'Ben Stover'" <bxstover@yahoo.co.uk>, "'xml-dev'"
> <xml-dev@lists.xml.org>
> cc: (bcc: Noah Mendelsohn/Cambridge/IBM)
> Subject: RE: [xml-dev] 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@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> 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@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> 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]