Previous Section Next Section

Chapter 2. XML Primer


Since its introduction in 1998, Extensible Markup Language (XML) has revolutionized the way in which we think about structuring, describing, and exchanging information. The ways in which XML is used in the software industry are many and growing. Certainly for Web services the importance of XML is paramount; all key Web service technologies are based on it.

One great thing about XML is that it is constantly changing and evolving. However, this can also be its downside. New problems require new approaches and uses of XML that drive aggressive technological innovation. The net result is a maelstrom of invention—a pace of change so rapid that it leaves most people confused. To say that you are using XML is meaningless. Are you using DTDs or XML Schema and, if so, then whose? How about XML Namespaces, XPointer, XLink, XPath, XSLT, XQuery, RDF, SOAP, WSDL, UDDI, XAML, WSFL, WSCL, or WS-I? Does your software use SAX, DOM, JAXB, JAXP, JAXM, JAXR, or JAX-RPC? It is easy to get lost, to drown in the acronym soup. You are interested in Web services (you bought this book, remember?). How much do you really need to know about XML?

The truth is pleasantly surprising. First, many XML technologies you might have heard about are not relevant to Web services. You can safely forget half the acronyms you wish you knew more about. Second, even with relevant technologies, you need to know only a few core concepts. (The 80/20 rule does not disappoint.) Third, this chapter is all you need to read and understand to be able to handle the rest of the book and make the most of it. This chapter will cover, in sufficient detail:

  • The origins of XML and the fundamental difference between document- and data-centric XML applications

  • The syntax and rules governing XML documents

  • XML Namespaces, the key specification enabling the distributed evolution of XML technologies

  • XML Schema, the de facto standard for describing document structure and XML datatypes for data-oriented applications

  • The key mechanisms for creating and processing XML with Java software

This chapter will develop a set of examples around SkatesTown's purchase order submission and invoice generation process. The examples will cover all the technologies we've listed here.

If you are an old hand at XML who understands the XML namespace mechanism and feels at home with schema extensibility and the use of xsi:type, you should go straight to Chapter 3, "Simple Object Access Protocol (SOAP)" and dive into Web services. If you can parse and process a significant portion of the previous sentence, you should skim this chapter to get a quick refresher of some core XML technologies. If you are someone with more limited XML experience, do not worry—by the end of this chapter, you will be able to hold your own.

    Previous Section Next Section