Slashdot Mirror


Authoring Schemas With XSD

Dare Obasanjo points to his own "article on O'Reilly's XML.com that specifies a set of guidlelines for authoring schemas using the W3C XML Schema Definition language commonly abbreviated as XSD. The primary theme is embracing simplicity by showing how to avoid the more complex and esoteric features of the language."

2 of 111 comments (clear)

  1. Just Say NO! by gurnb · · Score: 5, Insightful

    James Clark fights with XSD, pushing his Relax NG. Relax NG is *not* W3C. Let me repeat a background.
    XML (markup language created by W3C) is a subset of SGML (markup language created by ISO).
    XML has been created by few smart marginals from SGML world plus some MS politicians
    Now those MS politicians (and alikes) rule the show in W3C and the smart marginals have left W3C and work for ISO ( OASIS ).
    XSD is XML Schema language by W3C. Relax NG is XML Schema language by ISO (OASIS). Sofar, Relax NG is the first visible XML applicatuon which belongs not to W3C
    Now when we have a big picture written down, I would recommend reading the letter from James Clark
    http://www.imc.org/ietf-xml-use/mail-archive/msg 00 217.html
    The RELAX NG formalism has a solid basis in tree automata theory. W3C XML Schema has no such basis.

    e t.c.
    BTW, even RELAX NG is definately better than XSD, Relax NG itself is also not that perfect. The 'perfect' solution could be based on regular expressions. Nevermind. In the next years, nothing interesting (except for political battles) would happen in the world of XML Schema.

    --
    "This must be a Thursday, I never could get the hang of Thursdays."
  2. Among other things, XML is used for APIs by Anonymous Coward · · Score: 5, Insightful
    The product I work on (billing software) uses XML to define the API we export for external systems. A client that wants functionality not provided by our stock system is free to develop its own programs (front end and back end) that uses our XML interface to get the data.

    A client will call an API such as getFOO which will have an input type of InputGetFoo and an output type of OutputGetFoo defined in an xsd file. Because both our system and the client use the same xsd files, there is very little problem with synchronization. Using xml allows our clients to have a heterogenuous environment; anything that can deliever xml over tcp/ip can use our interface.