Why can't we have schema languages like this...
Bob Lobel, a local sportscaster in Boston, often says of ex-pat Red Sox players who do incredible things after they leave the Red Sox (like Roger Clemens, who is still kicking butt and taking names in the National Leagues years after he was let go by Red Sox manglement in the belief that he was done): "Why can't we get players like this?". The same could be said of RelaxNG in the context of Web services: "Why don't Web services use schema languages like this?".
It is sad, but true, that W3C XML Schema is the de facto schema language for Web services largely because of the significant investment in tools, etc. based on XML Schema. Yet, we struggle with versioning and extensibility because of XML Schema's UPA constraint and other limitations such as the fact that XML Schema does not have an open content model (which RelaxNG has), and we resort to writing post-schema-validation validation logic in our service's business logic to get around the limitations of pure XML Schema validation.
Elliotte Rusty Harold has written a great article on IBM's developerWorks site, RELAX NG with custom datatype libraries, which details how to extend RelaxNG with custom datatypes using Java. It is definitely worth a read.
It is sad, but true, that W3C XML Schema is the de facto schema language for Web services largely because of the significant investment in tools, etc. based on XML Schema. Yet, we struggle with versioning and extensibility because of XML Schema's UPA constraint and other limitations such as the fact that XML Schema does not have an open content model (which RelaxNG has), and we resort to writing post-schema-validation validation logic in our service's business logic to get around the limitations of pure XML Schema validation.
Elliotte Rusty Harold has written a great article on IBM's developerWorks site, RELAX NG with custom datatype libraries, which details how to extend RelaxNG with custom datatypes using Java. It is definitely worth a read.
0 Comments:
Post a Comment
<< Home