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."

14 of 111 comments (clear)

  1. Re:but where is it used ? by Anonymous Coward · · Score: 3, Informative

    I've found XML to be useful for data transfer and syndication. I haven't looked into building sites with it, but it's handy to have Company A export their data so Company B and Company C can use it. I work on a site that displays pricing and availability of houses using XML data exported from a third party in XML. It's also widely used in weblogs (save the flames) and news sites so people can syndicate the content.

  2. Article Motivation by Carnage4Life · · Score: 5, Informative

    When the W3C XML Schema recommendation was first released, there were certain parties whom overwhelmed by its newness, complexity and buggy implementations began to advocate using as few features as possible which culminated in the article W3C XML Schema Made Simple by Kohsuke Kawaguchi. However, a year later with parser implementations getting up to speed and more people using the technology it is clear that a number of the earlier misgivings about using some parts of the technology were misguided.

    This is very similar to the situation with Mozilla and C++. In 1998, a few months after the ISO standard was ratified a set of guidelines for using C++ were specified by the Mozilla team which included rules like don't use templates, don't use exceptions, and don't use namespaces. Since then the Mozilla team has looked back at their decision and realized that some of the decisions they made were unwise specifically listed as mistakes were avoiding exceptions and templates. I truly commend the Mozilla team for making their post mortem available online for other [C++ or otherwise based] software development projects to learn from.

    This article aims to do the same thing for the XML community and the W3C XML Schema recommendation.

    1. Re:Article Motivation by The+Bungi · · Score: 1, Informative
      Actually it was called "data reduced schema" (XDR) and it was created by the SOAP/BizTalk folks because the W3C hadn't approved XSD yet when the 2.5 version of MSXML was released.

      As of version 4.0 of their parser XDR is still supported but deprecated, and they're recommending everyone use (or upgrade/convert to) XSD instead. Full support for XSD has yet to make it to the full BizTalk server product, though.

      If you're going to FUD, get your facts straight.

  3. Re:but where is it used ? by Anonymous Coward · · Score: 2, Informative

    You wont see XML show up in web browsers for a while, HTML still does the job on the client side. I have been writing applications in the XML/Java space for 2+ years. The uses of XML are countless, XML Schemas provide the meta information needed by applications that use XML. Most of the XML apps I've written are in the enterprise application-to-application area, but Ive found use for it almost everywhere else. Any application that needs its data to be descriptive and portable can use XML. Many high end user apps store information primarily in XML, the ones that don't probably will soon. The problem remains that many people dont understand the need for XML and descriptive data.

  4. Re:Nitpick of the day... by Anonymous Coward · · Score: 1, Informative

    XSD is a Language for describing XML documents. Whats not a language about that? Its more of a grammar, so maybe you have a point. Schemas dont actually DO anything (neither does XSLT on its own) they just describe to you (or your application) the semantics and structure of an XML document, so a grammar would be more appropriate. The use of 'language' confuses newbies into thinking that XSD is a programming language and has the same set of responsibilities as a pl.

  5. Re:but where is it used ? by Kragg · · Score: 5, Informative

    XML is good for industry standards bodies. It's open, there are open implementations, and you can irrefutably lay down the syntactic and semantic law in a schema without any ambiguity.

    FpML, ArApXML, MDML are good examples of industry-specific XML standards. Going into the wider space, you get ebXML, SOAP and more.

    XML is the new-world replacement for EDI (Electronic Data Interchange) and it's biggest uses are B2B and company-internal, with a small B2C following starting up for things like weather data, news feeds etc. It's not surprising you've not come across it... and until you go and work for a megalithic corporation on the IT side, you probably won't.

    --
    If you can't see this, click here to enable sigs.
  6. Re:Someone give a copy to Microsoft... by daeley · · Score: 4, Informative

    I think they already have a copy. The author, Dare Obasanjo, works for them.

    --
    I watched C-beams glitter in the dark near the Tannhauser gate.
  7. Example website using XML by kelzer · · Score: 4, Informative

    I'm not sure how much traffic they get these days, but the InfoWorld website is XML based. I believe it uses server-side XSLT transforms to turn XML into HTML.

    Also, don't assume that just because the URLs don't have ".xml" in them that the site isn't using XML - it's often transparent, such as when using Apache Cocoon

    --

    ---------------------------------------------
    SERENITY NOW!!!!!!!!!!!!!!!!
  8. Re:but where is it used ? by SwissCheese · · Score: 3, Informative

    Dark Age of Camelot uses XML to display the character stats.
    Here is the display page and here is the XML source.
    This page explains how they do it. Very nifty for making guild web pages using their data.

  9. Re:but where is it used ? by syd02 · · Score: 5, Informative

    Take a look at www.gentoo.org The whole site uses XML.

    Also check out Daniel's articles for IBM developerWorks describing the site... Part 1 Part 2 Part 3 Part 4
  10. Re:but where is it used ? by MarkWPiper · · Score: 2, Informative
    Right here on slashdot (IIRCC)! XML is very often used on websites to truly seperate content from style. However, when you go to look at the HTML source, you won't see it. Why? Because the XML is being transformed into HTML by an XSLT engine on the server side, and the resulting HTML is sent to you.

    Moreover, XML itself is intended only to express content. It is standards built on top of XML (such as XHTML), that define how that content should appear. Many websites use XHTML, but the casual observer would not notice -- the source code of the page is nearly identical.

    In all of the three programming internships I've held (I'm still in college), XML was the underlying technology.

  11. Re:Darn DTD's by bloo9298 · · Score: 2, Informative

    Try Relax NG. Relax was developed in Japan and is quite popular there. TREX is James Clark's attempt at a type system that is more flexible than DTDs but less complicated than XML Schema. Relax NG is the merger of those two systems. It looks appealing but I have not used it in anger yet.

  12. Re:Among other things, XML is used for APIs by Anonymous Coward · · Score: 1, Informative
    Among other reasons, using xml for an API is much easier to maintain and debug than CORBA. The data being passed around on the network is always human readable. I can see what the client is sending and the server is receiving far easier than with CORBA.

    Not to mention testing is much easier. I can capture an input call to the API created by whatever client program is being used and hack it with my favorite text editor to test.

    And as another person mentioned, xml can be used by a far larger range of programming languages and tools than CORBA bindings.

    I'd also contend that xsd files are far easier to understand than IDL.

  13. Re:but where is it used ? by stonebeat.org · · Score: 2, Informative

    Check out tldp.org. All the documents are created usi ng XML/SGML. The idea offcourse is to ultimately create structured content, that can be queried and linked in future.