Home > Articles > Web Services > XML

XML Reference Guide

📄 Contents

  1. XML Reference Guide
  2. Overview
  3. What Is XML?
  4. Informit Articles and Sample Chapters
  5. Books and e-Books
  6. Official Documentation
  7. Table of Contents
  8. The Document Object Model
  9. Informit Articles and Sample Chapters
  10. Books and e-Books
  11. Official Documentation
  12. DOM and Java
  13. Informit Articles and Sample Chapters
  14. Books and e-Books
  15. Implementations
  16. DOM and JavaScript
  17. Using a Repeater
  18. Repeaters and XML
  19. Repeater Resources
  20. DOM and .NET
  21. Informit Articles and Sample Chapters
  22. Books and e-Books
  23. Documentation and Downloads
  24. DOM and C++
  25. DOM and C++ Resources
  26. DOM and Perl
  27. DOM and Perl Resources
  28. DOM and PHP
  29. DOM and PHP Resources
  30. DOM Level 3
  31. DOM Level 3 Core
  32. DOM Level 3 Load and Save
  33. DOM Level 3 XPath
  34. DOM Level 3 Validation
  35. Informit Articles and Sample Chapters
  36. Books and e-Books
  37. Documentation and Implementations
  38. The Simple API for XML (SAX)
  39. Informit Articles and Sample Chapters
  40. Books and e-Books
  41. Official Documentation
  42. SAX and Java
  43. Informit Articles and Sample Chapters
  44. Books and e-Books
  45. SAX and .NET
  46. Informit Articles and Sample Chapters
  47. SAX and Perl
  48. SAX and Perl Resources
  49. SAX and PHP
  50. SAX and PHP Resources
  51. Validation
  52. Informit Articles and Sample Chapters
  53. Books and e-Books
  54. Official Documentation
  55. Document Type Definitions (DTDs)
  56. Informit Articles and Sample Chapters
  57. Books and e-Books
  58. Official Documentation
  59. XML Schemas
  60. Informit Articles and Sample Chapters
  61. Books and e-Books
  62. Official Documentation
  63. RELAX NG
  64. Informit Articles and Sample Chapters
  65. Books and e-Books
  66. Official Documentation
  67. Schematron
  68. Official Documentation and Implementations
  69. Validation in Applications
  70. Informit Articles and Sample Chapters
  71. Books and e-Books
  72. XSL Transformations (XSLT)
  73. Informit Articles and Sample Chapters
  74. Books and e-Books
  75. Official Documentation
  76. XSLT in Java
  77. Java in XSLT Resources
  78. XSLT and RSS in .NET
  79. XSLT and RSS in .NET Resources
  80. XSL-FO
  81. Informit Articles and Sample Chapters
  82. Books and e-Books
  83. Official Documentation
  84. XPath
  85. Informit Articles and Sample Chapters
  86. Books and e-Books
  87. Official Documentation
  88. XML Base
  89. Informit Articles and Sample Chapters
  90. Official Documentation
  91. XHTML
  92. Informit Articles and Sample Chapters
  93. Books and e-Books
  94. Official Documentation
  95. XHTML 2.0
  96. Documentation
  97. Cascading Style Sheets
  98. Informit Articles and Sample Chapters
  99. Books and e-Books
  100. Official Documentation
  101. XUL
  102. XUL References
  103. XML Events
  104. XML Events Resources
  105. XML Data Binding
  106. Informit Articles and Sample Chapters
  107. Books and e-Books
  108. Specifications
  109. Implementations
  110. XML and Databases
  111. Informit Articles and Sample Chapters
  112. Books and e-Books
  113. Online Resources
  114. Official Documentation
  115. SQL Server and FOR XML
  116. Informit Articles and Sample Chapters
  117. Books and e-Books
  118. Documentation and Implementations
  119. Service Oriented Architecture
  120. Web Services
  121. Informit Articles and Sample Chapters
  122. Books and e-Books
  123. Official Documentation
  124. Creating a Perl Web Service Client
  125. SOAP::Lite
  126. Amazon Web Services
  127. Creating the Movable Type Plug-in
  128. Perl, Amazon, and Movable Type Resources
  129. Apache Axis2
  130. REST
  131. REST Resources
  132. SOAP
  133. Informit Articles and Sample Chapters
  134. Books and e-Books
  135. Official Documentation
  136. SOAP and Java
  137. Informit Articles and Sample Chapters
  138. Books and e-Books
  139. Official Documentation
  140. WSDL
  141. Informit Articles and Sample Chapters
  142. Books and e-Books
  143. Official Documentation
  144. UDDI
  145. UDDI Resources
  146. XML-RPC
  147. XML-RPC in PHP
  148. Informit Articles and Sample Chapters
  149. Books and e-Books
  150. Official Documentation
  151. Ajax
  152. Asynchronous Javascript
  153. Client-side XSLT
  154. SAJAX and PHP
  155. Ajax Resources
  156. JSON
  157. Ruby on Rails
  158. Creating Objects
  159. Ruby Basics: Arrays and Other Sundry Bits
  160. Ruby Basics: Iterators and Persistence
  161. Starting on the Rails
  162. Rails and Databases
  163. Rails: Ajax and Partials
  164. Rails Resources
  165. Web Services Security
  166. Web Services Security Resources
  167. SAML
  168. Informit Articles and Sample Chapters
  169. Books and e-Books
  170. Specification and Implementation
  171. XML Digital Signatures
  172. XML Digital Signatures Resources
  173. XML Key Management Services
  174. Resources for XML Key Management Services
  175. Internationalization
  176. Resources
  177. Grid Computing
  178. Grid Resources
  179. Web Services Resource Framework
  180. Web Services Resource Framework Resources
  181. WS-Addressing
  182. WS-Addressing Resources
  183. WS-Notifications
  184. New Languages: XML in Use
  185. Informit Articles and Sample Chapters
  186. Books and e-Books
  187. Official Documentation
  188. Google Web Toolkit
  189. GWT Basic Interactivity
  190. Google Sitemaps
  191. Google Sitemaps Resources
  192. Accessibility
  193. Web Accessibility
  194. XML Accessibility
  195. Accessibility Resources
  196. The Semantic Web
  197. Defining a New Ontology
  198. OWL: Web Ontology Language
  199. Semantic Web Resources
  200. Google Base
  201. Microformats
  202. StructuredBlogging
  203. Live Clipboard
  204. WML
  205. XHTML-MP
  206. WML Resources
  207. Google Web Services
  208. Google Web Services API
  209. Google Web Services Resources
  210. The Yahoo! Web Services Interface
  211. Yahoo! Web Services and PHP
  212. Yahoo! Web Services Resources
  213. eBay REST API
  214. WordML
  215. WordML Part 2: Lists
  216. WordML Part 3: Tables
  217. WordML Resources
  218. DocBook
  219. Articles
  220. Books and e-Books
  221. Official Documentation and Implementations
  222. XML Query
  223. Informit Articles and Sample Chapters
  224. Books and e-Books
  225. Official Documentation
  226. XForms
  227. Informit Articles and Sample Chapters
  228. Books and e-Books
  229. Official Documentation
  230. Resource Description Framework (RDF)
  231. Informit Articles and Sample Chapters
  232. Books and e-Books
  233. Official Documentation
  234. Topic Maps
  235. Informit Articles and Sample Chapters
  236. Books and e-Books
  237. Official Documentation, Implementations, and Other Resources
  238. Rich Site Summary (RSS)
  239. Informit Articles and Sample Chapters
  240. Books and e-Books
  241. Official Documentation
  242. Simple Sharing Extensions (SSE)
  243. Atom
  244. Podcasting
  245. Podcasting Resources
  246. Scalable Vector Graphics (SVG)
  247. Informit Articles and Sample Chapters
  248. Books and e-Books
  249. Official Documentation
  250. OPML
  251. OPML Resources
  252. Summary
  253. Projects
  254. JavaScript TimeTracker: JSON and PHP
  255. The Javascript Timetracker
  256. Refactoring to Javascript Objects
  257. Creating the Yahoo! Widget
  258. Web Mashup
  259. Google Maps
  260. Indeed Mashup
  261. Mashup Part 3: Putting It All Together
  262. Additional Resources
  263. Frequently Asked Questions About XML
  264. What's XML, and why should I use it?
  265. What's a well-formed document?
  266. What's the difference between XML and HTML?
  267. What's the difference between HTML and XHTML?
  268. Can I use XML in a browser?
  269. Should I use elements or attributes for my document?
  270. What's a namespace?
  271. Where can I get an XML parser?
  272. What's the difference between a well-formed document and a valid document?
  273. What's a validating parser?
  274. Should I use DOM or SAX for my application?
  275. How can I stop a SAX parser before it has parsed the entire document?
  276. 2005 Predictions
  277. 2006 Predictions
  278. Nick's Book Picks

Last year, I made my first official predictions. I was a little nervous; it's a little nerve-wracking committing yourself in public, but there it was. So here it is, the beginning of another new year, and time to see how I did, and try again. Let's start with a recap of 2005's predictions:

  1. XML will begin to cease to be a topic in and of itself, as everyone realizes that when you come right down to it, it's just not that complicated. That will change later in the year as the push for binary XML heats up in response to XML's use for larger and larger solutions, leading to larger and larger documents and more and more bandwidth issues. The W3C will lean towards a solution based on ZIP after the dual realizations that it will help some security problems by enabling easy (if inadequate for the long term) encryption, and also that if they don't get off the stick and do something -- soon - that multiple proprietary solutions will become even more entrenched than they currently are and permanently balkanize the field.
    • Well, I was half-right. XML is just assumed; many times, developers don't even know they're using it. But binary XML is still up in the air.
  2. The industry will finally give in to standard fatigue and it will be very difficult to introduce a new spec -- particularly if it starts with "WS-" -- without very good justification as to a) why it's needed and b) why it can't be covered in any of the existing specs. This will be part of the realization that the industry needs to get off its hiney and start making the existing specs actually work, particularly with regard to security, interoperability, and, as the world shrinks, internationalization. Look also for a tendency to build now and standardize later as people get sick of waiting for specs to actually get finished.
    • Again, a partial hit. While there certainly were some new specs this year, the flow has certainly slowed, but I don't think we're much closer to having things actually working than we were at this time last year.
  3. People will realize that "service oriented architectures" -- or whatever they wind up being called this year -- have been around since the beginning of time (OK, since before web services) and that they need to be treated like any other development project, with proper architectural planning rather than an ad-hoc, let's-throw-this-thing-together-and-see-what-works approach. SOA and architectural consulting will be the fields to get into if you're looking for that big score.
    • Full hit on this one.
  4. People will also realize that just because it's an SOA doesn't mean you necessarily have to use SOAP, or even what we loosely call Web Services. Look for the development of systems that integrate different types of SOAs and serious time and effort devoted to interoperability as vendors discover that they can keep their proprietary systems in place if they also play nice with everybody else.
    • Another full hit.
  5. 2005 will be the year that lots of hype will begin to fall away. Blogging will reach a peak (if it hasn't already). That doesn't mean less people will blog; it just means that there will be fewer "serious" bloggers. Those that remain will continue to try and monetize their blogs but most won't succeed. "Professional" bloggers will increase, but there will be a rough patch as people find it's not as easy as they thought it was, particularly if they're blogging a particular topic. Companies will also have to come to grips with how much freedom they give their bloggers, or risk a loss in credibility.
    • Partial hit here; Yes, it's happening, but it's not finished yet.
  6. On the other hand, "citizen journalists" will start to be more common, particularly in major events such as natural disasters. News organizations will start to use them, but will try to keep a tight rein on them in order to maintain credibility.
    • As witnessed in Hurricane Katrina, the London bombings, and the elections in Iraq, blogs are definitely gaining a growing place in the news. We haven't, however, seen much of the adoptions by professional organizations, unless you consider professional journalists who now blog.
  7. This year people will realize the more is not necessarily better and will start to try to filter their lives. RSS and other syndication formats continue their march forward, but aggregators will become a way of life, and better aggregators appear on the scene, providing better control and help with information overload.
    • This has certainly happened; sites such as Feedblitz and Findory try to get things under control, but unfortunately, a complete solution is still missing.
  8. In that same vein, humans will get re-introduced to areas such as content management, as companies realize that the best content management system on the market can't do as much as one good editor. CMS tools will stick around, though, as an aid to those editors.
    • Not sure I can really count this one as a hit, as this year has seen a proliferation of "Web 2.0" applications that take raw user generated content. But I do claim just a sliver of accuracy, as this year saw the rise of "tagging", in which humans categorize content rather than leaving it to algorithms.
  9. Also on the subject of filtering our lives, metadata becomes increasingly important, and the push is on for new ontologies. The Semantic Web, however, doesn't happen yet because there is still resistance from those who are convinced it's too complicated. (A large portion of those people will have never read the specifications, mostly because they are too complicated.)
  10. And speaking of things that are too complicated, look for sites that release web services APIs to supplement their SOAP APIs with REST APIs, which will see more usage. At least one semi-major web services API will be released in "REST only" form, but a push for credibility -- or possibly, interoperability -- will force the addition of "real" web services.
    • Another partial. Note Yahoo!'s decision to release their API using REST only, but so far they haven't been compelled to add SOAP.
  11. As the number of web services targets increases, look for attacks on these services to spur implementation of security standards. Global terrorists probably won't be involved in these attacks, but "the war on terror" will still be used as an excuse for much of this work.
    • Thankfully, this one's a miss.
  12. Grid will continue to be lumbered with the perception that it's only helpful to academics. It gets integrated into major products such as Oracle and DB2 -- that's a cheat; it's already happening -- but is considered a semi-useless perk until a killer app, possibly related to gaming, sets things off with a bang later in the year.
    • Another partial. IBM has introduced their "Grid and Grow" solution, but so far it doesn't seem like a killer. We're still waiting for that.
  13. This is a tie. I can't decide which way it will go. Either:
    IBM will realize that they must provide a way for individual developers to use Autonomic Computing without needing a Ph.D in computer science, and will create tools that enable a "plug and play" model for including it in an application. AC begins a slow but steady ascent, as its performance doesn't quite live up to its promise at first.
    or
    The developer community in general shies away from Autonomic Computing as too much and too complicated for small-to-medium businesses (SMBs), and because it's only the mega-corporations using it, AC goes back to being a proprietary (read: pay lots of money for products and services) proposition. It does, however, do better there than it had in the past, and eventually (a couple of years down the line, perhaps) the performance divide between AC haves and have-nots becomes obvious and AC starts once again to trickle down to smaller businesses.
    • Well, I gave myself an out and I still missed this one. Autonomic Computing's definitely progressed, but it's still largely where it was at this time last year.
  14. Video becomes almost as common as audio online, and both become increasingly searchable, in part -- but not entirely -- due to the increasing use of meta-data. (See number 9.) Podcasting provides a new model for aggregating your own "tv" station online, ala http://www.blogtelevision.com, as people realize they can pull together audio and video from different locations without having to actually own the files.
  15. Digital Rights Management becomes a huge issue, but fails to stem the tide of illegal file sharing. In the meantime, artists continue to take their work directly online, bypassing labels completely.
    • Well, when I said "a huge issue", even I wasn't suspecting a disaster on the scale of the Sony rootkit.
  16. Information becomes more readily available from disparate locations and devices such as phones, Blackberries, and iPods.
    • While I hadn't quite anticipated the prevalence of podcasting on iPods, my actual conception here had related to new ways of actually getting to information, so I'm going to call this one a miss.
  17. Computer addiction will be recognized as an actual problem, but not, unfortunately, dealt with in any kind of effective way.
    • Miss. Unfortunately.

Well, I was at least partially right in 12 out of 17. Not too bad. So let's see about my predictions for 2006:

  1. This year we will see more attempts to create the so-called "two-tier Internet". The same way that 80% of your time is taken up by 20% of your problems, it seems that only are very small percentage of Internet users -- both providers and consumers -- use the majority of bandwidth, and telephone companies and other communications companies that provide that bandwidth are unhappy about it. For example, my web host may charge me extra money if I serve an inordinate amount of traffic, but that doesn't have any effect on the local phone company that is providing your DSL service. Under the two-tiered structure, your phone company could block my web site, or perhaps, provide degraded service, if I don't pay them an extra fee. Now, of course, it is unlikely that individual operators such as myself would be targeted by something like this, but it could work the other way around. In other words, a communications company with a significant interest in a particular property might provide good, fast, access to that property, but provide lousy service to everyone else unless they pay a fee. Whether or not this plan actually succeeds will depend, of course, on Congress. In particular, the phone companies that will be trying to pull this off already have very well-established lobbying organizations.
  2. Look for more Sony rootkit-like fiascoes in the coming year. Record companies are desperately trying to find some way to keep people from sharing their product without paying for it, and it seems that they don't care who they tick off in the process. Take the new Coldplay album, which, after you buy it, you will discover includes digital rights management software that may prevent you from playing it on anything but your home CD player. Not only may you have difficulty playing it in your computer, you may not even be able to play in your car. How did they manage that? I don't know. But I'm sure it wasn't pretty.
  3. The term "Web 2.0" will knock around for a while longer, but fails to become the venture-capital magnet people hoped it would be. People will realize that if they would spend less time arguing about what to call it and more time actually using it to do something, everyone would be much better off. On the other hand, the concept of using "user generated content" to increase the relevance of information will remain extremely useful and see some growth as user generated content becomes almost the norm.
  4. In 2005, people began to realize that they had better get their act together in terms of finding a way to organize all these millions and millions and millions of pages and messages and comments and other pieces of information that are out there on the Internet, or else it was going to become a useless mess. Look for that trend to continue this year, with some actual useful work being accomplished. Initiatives such as the Unstructured Information Management Architecture will make attempts at making some meaning out of all of this data, but I don't expect major progress this year.
  5. On the other hand, I'm more optimistic about progress in dealing with blogs, podcasts, and other feeds. In fact, the concept's already got a name. It's called newsmastering, and it's the idea of sorting through all of this information in some sort of automated way that provides you with useful information rather than just a three-page list of blogs you read -- when you don't actually read most of them because you don't have time to get through more than one or two a day. Look for microformats and/or structured blogging to play a role in this, but only if someone actually manages to create a plug-in for the major blogging tools that actually works, is easy to use, and is almost ubiquitously available. I say that because in general, as has already been pointed out many times, people are lazy. No matter how much traffic you promise them, unless you make it extremely easy, they will not put extra work into making it easy to sort through their content. But, if you create a plug-in that allows them to easily specify what kind of information it is, they will go for it if they think it will get them more traffic.
  6. Months ago I said it was the beginning of the end for Google's sweetheart status, and this year we will see it come to fruition. Oh, I'm not saying that the company is going to completely take a tumble and disappear, because that would be ridiculous. But you will begin to see things start to crumble just a little bit. Enough people are starting to grouse about the company that it can't keep this up forever. The stock will drop, but only to more realistic levels. (I should point out that Piper Jaffray says the stock will go to $600 sometime this year. I'm not disputing that. I'm only saying that it will come down.) Its core business, as they say, will be unaffected. But don't be surprised if the company backs off just a little bit from the "don't be evil" slogan, as it realizes that a significant percentage of people worldwide (see below) think it is evil anyway.
  7. After publicly denying it for months, Google will make a foray into the financial world with its own payment system, which will become a virtual currency tradeable in other areas. How this is received depends on whether it comes before or after the aforementioned tumble. If before, it will take off like wildfire. If after, it will be scorned as a way for Google to take over the world. (But people will still use it.)
  8. RSS will have become so common that every application for which it makes sense (and probably a few for which it doesn't) will provide an RSS feed for various purposes. Almost everyone we'll have some sort of RSS reader, even if it's Microsoft Outlook, and it will be used so frequently that most people won't even know that that is what they're using, simply choosing to subscribe to some service or other without knowing how it's actually done.
  9. In the beginning of the year there will be a push to make Web Services interfaces common, but we will suddenly discover that we have a lack of people able to pull this off on such a huge scale. Salaries for "service oriented" engineers will go up, especially compared with the loss of jobs in other IT positions, and some people will actually retrain instead of complaining. Those people provide a pool from which industry can find enough people to actually make web-service-based interfaces the norm rather than the exception. At first companies will do this because they feel they have to, without really knowing why. But then, that's why they do many of these things. Later, however, we will see this come to fruition in the mass of mashup applications that use these services in new and innovative ways. At least, I hope so.
  10. This year companies will finally start to implement service-oriented architectures in a big way. A lot of companies have had pilot programs in the works but now new development will start to take place as companies realize that you don't have to be using Web services to have a service-oriented architecture.
  11. Web services will really come into its own this year. If you don't have a web services interface into your application by the end of the year, you'd better have a good reason. This proliferation of Web services is going to feed the growing trend of mashups, or applications that take data from one or more sources and mix it up into something new, such as Taglines, combining data from Flickr, Yahoo, and Yahoo terms. David Berlind calls this trend a move towards the uncomputer, but I fear the creation of a new buzzword.
  12. On the other hand, look for the addition of expert-moderated user generated content, as a way to try and conquer information overload.
  13. Ruby on Rails will continue picking up steam, fueled in part by the continuing popularity of web applications. It will also be assisted by its tight integration with Ajax, which even by itself will continue to fuel an interest in web applications as they get closer to the desktop experience. Applications that might have been written using, say, an application server will be prototyped as web applications using a simpler technology and some will discover that the prototype works just fine and doesn't need to be replaced by an immensely complicated piece of software. Not that application servers will go away. However, towards the end of the year some people will be tempted to claim that their prediction of Enterprise becoming the new Legacy has come true. I don't think it will go quite that far. We will, however, find that applications that probably shouldn't habve been written for an application server in the first place now won't be.
  14. Tagging as a way for users to classify content will continue to be popular, and someone will figure out how to make it more meaningful than it is already. Early in the year we'll begin to see a decline in the amateur podcast as people discover that they have a finite amount of time to listen to things and they will stick with the more professional broadcasts. Note that when I say "amateur" I don't necessarily mean somebody not getting paid, I mean somebody just rambling into a microphone attached to the computer rather than actually producing out a thoughtful radio-like show. Later in the year, however, we will see a resurgence as someone comes up with a way to automatically transcribe the text in podcasts, making them a) indexable by search engines, b) easy to add to a blog, and c) skimmable by readers. Bloggers will discover that they can blog from cell phones just as easily as from anywhere else, and we will see the resurgence of amateur podcasting, this time as a means of production rather than distribution.

So that's my view of 2006. See you next January to tally up!

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.