Authoring Schemas With XSD 111
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."
but where is it used ? (Score:3, Interesting)
Does anybody have an example of high volume (so mainstream) websites using XML ? whereever I look all I see is good old HTML, a div or two (mostly tables still though) and Javascript stuff.
Re:but where is it used ? (Score:3, Informative)
Re:but where is it used ? (Score:1, Funny)
1. "Extracting more money from the customer" - We must implement these system interfaces in XML.
2. "Protecting the money you have already extracted from the customer" - We have problems implementing these system interfaces in XML. This tactic can only be used once the customer is dependent on you.
Fuck - I've become a jaded old bastard
Re:but where is it used ? (Score:1)
Re:but where is it used ? (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 [ibm.com] Part 2 [ibm.com] Part 3 [ibm.com] Part 4 [ibm.com]Re:but where is it used ? (Score:1)
Re:but where is it used ? (Score:2, Informative)
Among other things, XML is used for APIs (Score:5, Insightful)
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.
Re:Among other things, XML is used for APIs (Score:2)
Re:Among other things, XML is used for APIs (Score:2)
Perhaps because it is more widely accessable to all languages?
Not all languages can use CORBA, but all that I've ever worked with can read and write simple text.
Re:Among other things, XML is used for APIs (Score:2)
Re:Among other things, XML is used for APIs (Score:2)
Ok, tell me, how do I call something from Visual Basic (or even better, MS Access) that has a CORBA interface? I'm sure there are ways of doing it, but the simplicity of communicating through simple text is the benefit of using XML. Yes, there are trade-off's in performance, but in most of the places I've worked, the time for development and simplicity of support is more important than the extra few milliseconds you might gain doing things the most efficient way possible.
Re:Among other things, XML is used for APIs (Score:1, Interesting)
Re: It doesn't quite work that way (Score:2)
Re:Among other things, XML is used for APIs (Score:1, Informative)
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.
Re:Among other things, XML is used for APIs (Score:2)
Re:Among other things, XML is used for APIs (Score:2)
Never looked at IDL, but I definitely prefer working with an XML schema described as a DTD rather than in XSD. The DTD (i think an EBNF?) is much more easily readible for a start. You can glean all the information you need about an element with a glance. In XSD you have to check through the various levels of containment etc to work out what is what. Not that it's a major challange, but it certainly lacks the immediacy of reading a DTD. Against that, of course,
XSD, is however, extremely useful. I regard it not as a tool for "authoring" or editing schemas, but as a standard XML representation of schemas. With a DTD -> XSD (or, I guess, an IDL -> XSD) translator, you have a way of bringing your schema into the XML world, where it can be processed by standard XML tools. Very useful indeed.
In response the the question of where XML is used, from my perspective it looks like, everyfuckinwhere! That's because I'm working on an XML based project, mind. But seriously, it looks to me like XML is going to be the the '00s and '10s what ASCII was to the '80s and '90s, and then some.
erratum (Score:2)
Ooops!
it certainly lacks the immediacy of reading a DTD. Against that, of course, ... you XSD can express schemas which a DTD cannot describe (eg data types).
Re:Among other things, XML is used for APIs (Score:2)
Re:Among other things, XML is used for APIs (Score:1)
2. Please tell me how you extend a corba interface without recompiling both the server and client.
3. Please tell me how you perform corba over http, ftp, or any other lightweight network protocols.
The only answer I know is you can't, perhaps you don't care about those capabilities, but I need them all and several more. CORBA is great where its great, but it hardly reduces the need for XML.
Re:Among other things, XML is used for APIs (Score:2)
2. You use Dynamic Invocation Interface
3. You can do corba over http without any problems. There are a number of tools to do just that. By the way, http is not lightweight compared to iiop by any stretch of imagination.
SOAP is the same soup reheated and served over and over again. It solves nothing that CORBA wasn't able to solve. Initially it was simpler than CORBA because of its incompleteness. Now that it is catching up to CORBA in terms of supported functionality its complexity has grown exponentially.
Re:Among other things, XML is used for APIs (Score:2)
Modifying an interface leaves clients and objects disagreeing about which invocations are valid! Make a new interface, inheriting the old one if you want to remain compatible (that's what the major and minor version numbers in an "IDL:" RepositoryId are for). Objects can implement both (probably sharing most of the code). Clients can reject objects that don't implement the new interface, or fall back on the old one.
If you don't have a real IIOP proxy or a tunnel for arbitrary TCP (like HTTP's CONNECT method), you can wrap an IIOP request in HTTP and pass it through a HIOP proxy. Callbacks may not work, but that's also a defect in the HTTP binding for SOAP.
Re:but where is it used ? (Score:5, Informative)
FpML [slashdot.org], ArApXML [slashdot.org], MDML [idealliance.org] are good examples of industry-specific XML standards. Going into the wider space, you get ebXML [ebxml.org], SOAP [w3.org] 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.
Re:but where is it used ? (Score:1)
Re:but where is it used ? (Score:2)
http://www.gentoo.org
Example website using XML (Score:4, Informative)
I'm not sure how much traffic they get these days, but the InfoWorld [infoworld.com] 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 [apache.org]
Re:but where is it used ? (Score:3, Informative)
Here [camelotherald.com] is the display page and here [camelotherald.com] is the XML source.
This page [camelotherald.com] explains how they do it. Very nifty for making guild web pages using their data.
Re:but where is it used ? (Score:2, Interesting)
Re:but where is it used ? (Score:2, Informative)
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.
Re:but where is it used ? (Score:2)
http://www.loc.gov/srw/ [loc.gov]
This is from the Z39.50 Implementor's Group, an attempt to bring the experience of the last 20+ years with the bibliographic protocol that supports 99% of library searching into the mainstream.
Check it out!
--Azaroth
Re:but where is it used ? (Score:2)
XML and HTML aren't really competing standards; the future versions of HTML will be XHTML (HTML based on XML instead of SGML), which mostly makes it more convenient to embed SVG, MathML, etc. in your web page, and is nearly identical, except that all of the close tags are (supposedly) required. You're unlikely to see the sorts of XML streams that have been hyped on the web, because they require interpretation by the client, which your browser doesn't know how to do; unless you've got something like a stock-ticker application, you actually want the HTML version, which is presented for display.
Re:but where is it used ? (Score:1)
Re:but where is it used ? (Score:2, Informative)
Re:but where is it used ? (Score:2, Interesting)
Transformations. That is the part of XML that I like the most. At work I develop a product that has a lot of raw data. Its representations can be vast and numerous. As an example, we can represent the data in an XML format, then using XSLT transform it into HTML, ascii text, CSV, PDF, and even formats that will import into quicken and such.
Unfortuneatly XML has become a buzzword. So when someone claims they use XML (as people yack about MS with their new file format) it doesn't actually mean anything. XML is not the proverbial hammer to wack nails, screws, and hooks with, but it does have its uses. For us, it is best used with its transformation ability with XSLT. When we first started work with it we found that it did not help with many of the things we do however.
Personally I have come up with my own little XML definition to help seperate content and display. I am putting together the classic "see my cats" page at home, and also having other applications like webmail and budget database on my website for myself. One thing that is really nice is to be able to change just the XSL stylesheet for processing the XML to change then entire feel for the site. Like if I change the forms handler, I just change the transformation for the forms and all forms will look similar, instead of having some with a particular feel and others with a different feel.
Ofcourse, ymmv, but XML is not cursed simplely because it is a buzzword.
Re:but where is it used ? (Score:2)
Re:but where is it used ? (Score:2, Interesting)
I did contract work for the state for a while and they wanted to do some credit card processing but didn't want to deal with the liability so we contacted a large company to handle that. They provided an XML interface where we sent them descirptions of the items we wanted charged, along with some other goodies including a return address to our site so we could handle their response XML.
So we accepted some HTML form input, built a server side XML document and sent it to them, they processed it, and then sent us an XML result.
While there are a lot of ways this could be accomplished, this was pretty easy and platform independent since XML is really just string data.
It's going to be used for backend processing mostly, and then for the UI you render it with XSL, or custom server side code in our case.
BYO Shopping Cart (Score:1)
If you're rolling your own tools, XML is a life saver.
I've built a shopping cart system for my wife's store, and XML forms a key part of several pieces of the internals.
For instance, UPS, US Postal Service and FedEx all have XML-based APIs that allow you to get shipping rates, track packages, generate labels, etc. In the case of rate retrieval, the XML is simple enough that I don't need XML code libraries: the weights and zipcodes get interpolated into a simple Perl string on the way out, and what I get back is easy enough to parse with a pattern (gotta remember non-greedy patterns!).
Obtaining a username and password is left as an exercise for the reader, as is parsing the result.
Her primary distributor, Ingram Books [ingramcust...ystems.com], is implementing inventory checks over XML also -- but it's not quite working yet. Their previous tools required FTP-ing a request file to a site, and then waiting around for a response file to show up in the same folder!
So in that respect, B2B is where XML is dominating.
Re:BYO Shopping Cart (Score:2)
Re:BYO Shopping Cart (Score:1)
This just happens to be a terribly trivial request, which could have been cheaply implemented by the Post Office as a standard web query. The only parameters are the weight in pounds and ounces (simple integers), Zip codes (5 digit numbers), and username and password, which are established strings. No muss, no fuss, no unsightly odors.
I only implemented this myself because it was so blinkin' easy, and because there isn't a CPAN module for it (yet).
Nitpick of the day... (Score:2, Insightful)
I think misrepresentations like these from story submitters ultimately detract from the overall quality of the articles and I'm sure that the author wouldn't be all too thrilled about it.
It's akin to those Costco salespeople who tell me that the "shweet" HP computer over there has 20GB of "RAM". It looks a bit dumb given the target audience.
Re:Nitpick of the day... (Score:1)
Actually both XSL and XSD are languages. Mathematical language is a set of strings made of symbols. Programming languages are mathematical languages but there're many other languages that fit this definition.
Re:Nitpick of the day... (Score:4, Interesting)
XML is a language. So is HTML. So is SQL. Just because a language isn't Turing-complete doesn't make it not a language.
Actually, I agree with you that XSD isn't a language -- it's a specific set of rules for using a language, XML; it would be better to call it a grammar. But saying "___ isn't a language" because ___ doesn't do everything C does is as silly as the "MySQL isn't a database (management system)" crap that floats around here every so often.
I think the target audience is sophisticated to understand the difference between a language that's Turing-complete and one that isn't, and also to know that markup languages are still languages by any reasonable definition of the word.
Re:Nitpick of the day... (Score:2)
Re:Nitpick of the day... (Score:1)
It's best to think of XML as a language construction toolkit. In the same manner, SOAP is a protocol construction toolkit, more than a protocol in its own right.
Re:Nitpick of the day... (Score:1, Informative)
Re:Nitpick of the day... (Score:1)
Depends on your definition of a language, which in turns depends on your community. Common definitions:
XML and XML Schema are both languages according to this definition. In addition, XML Schema has a semantics that associates a subset of the set of all XML documents to every XML Schema.
Re:Nitpick of the day... (Score:1)
Re:Finally (Score:1)
Wrong. Instead people will type or paste XML into a Word document, so you will *still* get Word attachments. Kant Eskape
Article Motivation (Score:5, Informative)
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 [mozilla.org] which included rules like don't use templates [mozilla.org], don't use exceptions [mozilla.org], and don't use namespaces [mozilla.org]. Since then the Mozilla team has looked back at their decision and realized that some of the decisions they made were unwise [mozilla.org] 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.
Re:Article Motivation (Score:1, Insightful)
Kind of like Microsoft, who instead of working with the spec at all, decide to create their own Schema impl. called the "Biztalk Schema". Which is all but useless outside the Biztalk Mapper app. I think their motivation for this was that implementing an XSLT generator that could map two w3c schemas together would be too useful to the public, and would involve too many non-M$ proprietary technologies.
Re:Article Motivation (Score:1, Informative)
As of version 4.0 of their parser XDR is still supported but deprecated, and they're recommending everyone use (or upgrade/convert [microsoft.com] 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.
Re:Article Motivation (Score:2)
This is not in the least bit "insightful". It's pure FUD. Microsoft implemented a schema type language in XML called XDR (XML Data Reduced). They stated upfront that this was simply an intermediary until the full XSD spec was finished. As of version 4.0,their parser supports both schema types, with the recommendation that you use the newer, standard schema type (XSD).
I do not use BizTalk, so I'm not sure of the status of that product using XML Schemas, but I'm sure support for them is not far behind.
Re:Article Motivation (Score:1, Interesting)
Also, I noted a recommendation based on Visual C++ 1.5. I'm sorry, but that one is stone age! If you are so desperate to support every C++ ever written I imagine you will have major trouble porting newer C++ features, but that really is not necessary if you use recent versions of the various compilers.
Re:Article Motivation (Score:2)
That was Dare's point. They're bogus. Read the post more carefully.
Re:Article Motivation (Score:3, Interesting)
There is already an XML schema description language, called DTD. It is less powerful than XML Schema or Relax NG or DSD or a dozen other edifices of overengineering, but by the 80/20 rule it's likely to do what you need. The tools to validate against a DTD (nsgmls) are already included with most Linux systems. And you can learn all you need to know in about one page.
XML Schema might be useful for some applications, and being a W3C standard does give it some extra clout (DTD is a W3C standard too, part of the XML specification), but it looks like second-system syndrome to me.
Re:Article Motivation (Score:2)
I can't see that 'nice to have' features like specifying restrictions on textual element content outweigh the huge extra complexity compared to its predecessor
The ability to specify these restrictions are a huge advantage. For example...
<ip-addres>foobar!</ip-address>
... is almost certainly not valid input. You can easily use schema to validate that this should appear in IPv4 dotted decimal form, for example. Take any moderate size document, and suddenly schema validation saves you hundreds of lines of validation logic inside your own code. This kind of validation is also a huge improvement for XML remote procedure calls (SOAP, etc.)
I'll agree that the W3C schema language is complex, and I prefer something like Relax NG. However, I think both are a huge improvement over DTD for many applications, and if you don't need the extra features, you can stick with DTD.
Re:Article Motivation (Score:2)
My point was that many apps don't really need the extra features. In all the hype over schemas, plain old DTD doesn't really get the coverage it deserves.
Re:Article Motivation (Score:1)
Re:Article Motivation (Score:1)
Darn DTD's (Score:5, Interesting)
I also want to gripe a bit about the complexity of XML Schema. DTD has all the restrictions I'd typically want to use (the main thing I want to do is just specify element names, contents, and attributes). The *only* problem with DTD's is that they are totally namespace-challenged!
You can't use combine two DTD's for different namespaces into a combo document. You can't even allow arbitrary other elements in a DTD element declaration -- every element must be declared and local. Even worse, you have to pick and stick with a namespace prefix in your DTD -- defeating the whole point of globally unique namespaces.
What I *really* want is just DTD with a smidge of namespace smarts and the ability to combine DTD's for one document. Anyone want to give it a shot?
Re:Darn DTD's (Score:2, Informative)
Try Relax NG [oasis-open.org]. Relax [xml.gr.jp] was developed in Japan and is quite popular there. TREX [thaiopensource.com] 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.
Re:Darn DTD's (Score:3, Interesting)
What I *really* want is just DTD with a smidge of namespace smarts and the ability to combine DTD's for one document. Anyone want to give it a shot?
I think this is what everyone wants. The problem is, aside from Microsoft, no one can just make up a standard that contradicts the W3C and expect it to be accepted.Re:Darn DTD's (Score:2)
Re:Darn DTD's (Score:3, Insightful)
I don't think people should be able to just make up their own standards.
Isn't that the whole point of XML to begin with? That my company and the company we're partnering with can write a simple data-exchange standard without locking both development teams in a conference room for two weeks?
So, in your case, you and whoever your dealing with could pretty easily nail down what kind of namespace smarts you want in your DTD validations and implement it without having to RFC the whole world.
Re:Darn DTD's (Score:2)
I agree that companies should be able to create their own XML formats... that's what it's all about. My comment was that There should be a limited number of ways to validate those formats. There's a simple reason for this: extendability. Once a set of XML tags has be restricted by DTD, it cannot be extended using schema (at least without repeating ALL the validations). DTDs (because of the namespace issues mentioned earlier) can only be extended by other DTDs in special situations. If everyone and their brother created a new validation format, these extendability issues would get even worse.
IMHO, the W3C should start working on DTD version 2 right now. We need namespace support in a validation format that's simple enough for everyone to use.
Re:Darn DTD's (Score:2)
-- james
Someone give a copy to Microsoft... (Score:3, Interesting)
...no seriously, then they might actually follow the standards that are out there (i.e. their supposed use of 'proper' XML in Longhorn [winsupersite.com]).
Actually, maybe not. If they do have an O'Reilly Zoo, maybe the animals/books have been re-engineered into abominations... and then they follow what has been rewritten to produce anything.
Well I suppose Long"Horn" could be an animal derivative; the bit that MS chops off and gives to the customers.
Re:Someone give a copy to Microsoft... (Score:4, Informative)
Re:Someone give a copy to Microsoft... (Score:2)
Re:Someone give a copy to Microsoft... (Score:2)
What are you talking about? Microsoft is fully supporting the W3C XML Schema specification. Their support for it in version 4.0 of their parser is pretty good. I don't understand what you are talking about in regards to Longhorn.
Just Say NO! (Score:5, Insightful)
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/ms
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.
Re:Just Say NO! (Score:2, Interesting)
"Now that RELAX NG is an ISO/IEC DIS, I think that we should prefer RELAX NG
to XML Schema." (http://www.imc.org/ietf-xml-use/mail-archive/msg
HMM, Glad I decoupled the use of W3C schemas in my application early on, or I would certainly be in a pickle now! Oh wait, I didnt, DAMN!
Re:Just Say NO! (Score:2)
Not that I know the first thing about this whole topic. Maybe you understood perfectly what he meant.
Patents (Score:2)
For one thing, those more nasty of companies seems to have a lot more say in OASIS and ISO than in W3C. Nor can I look upon XML as a subset of SGML, but maybe I'm totally wrong about that.
In ISO, it seems like that cross-licensing of patents is done to shut smaller companies out of the process. OASIS too has RAND licensing [oasis-open.org] and as usual, makes no attempt to define what is "reasonable" or "non-discriminatory":
This is contrary to how hard W3C has worked to ensure royalty-free patents.
I'm not saying that James Clark's stuff isn't better, it may well be, he is certainly among the foremost in this field. But this bashing of W3C seems highly undeserved.
Re:Patents (Score:3, Interesting)
XSD is one example that is particularly nasty because the W3C seems to plan forcing it in every other spec they create (for example XSLT 2.0, XQuery, RDF/OWL), making them very hard to implement (how many conformant XSD implementations are there? For languages other than Java?)
Re:Patents (Score:2)
XML is a strict subset of WebSGML. They designed it carefully so that you could produce a DTD for any well-formed XML document and process it using any up-to-date SGML tool that implements the WebSGML TC extensions.
Thanks; I never noticed the potential legal minefields.
Re:Just Say NO! (Score:1)
There's no such thing as a perfect schema language in a general sense. It all depends on the application at hand. Actually, trying to be perfect is one of the main reasons for the W3C XML Schema bloat; they simply try to squeeze too much into a single specification.
RELAX NG is much more streamlined; it focuses on specifying grammars for XML structures. Nothing more. I doesn't try to glue on concepts like object orientation (which is another reason for the W3C XML Schema blur). It's just very pure and hence easy and intuitive to learn and use.
Also, with the recent addition of the Compact Syntax [oasis-open.org], editing and reading schemas has never been easier. Utilites for working with the compact syntax can be found here [pantor.com] and here [thaiopensource.com].
So even though there is no perfect schema language, I'd say RELAX NG is far more perfect than W3C XML Schema in many situations. If you have applications that require W3C XML Schema, you can use Trang [thaiopensource.com] to convert your RELAX NG schemas.
Since I Don't Have You (Score:3, Funny)
I don't have plans or schema's
I can't author anything
Since I don't have XSD
I looked on Google
And I checked out ActiveState
And I tried MacMall
They don't carry XSD
Microsoft says just use
Redhat says there's no RPMs for it yet
And Ellen Feiss says hers disappeared
I don't have XSD
Re:Since I Don't Have You (Score:1)
That was funny
Re:So the XML Definition language is itself XML? (Score:3, Insightful)
It takes months to understand? (Score:2)
How anything in XML-land takes months to understand when XML docs are little more than glorified hyped text files is beyond me. The only time this should happen is understanding what human/cultural aspect XML is trying to represent, not a technology.
If it actually takes months to understand (Score:3, Insightful)
Then maybe you just shouldn't be doing such "complex" programming. XSD should not take more than a couple days to understand, another few days to iron out the details, and by the end of 30-40 hours you should have produced a good sample of whatever you're modelling with XSD.
Too many "how to" documents and books are written for people who just don't "get it". While I sympathise that they need to learn, you have to grasp the concept of abstraction before some of these "languages" make sense. XSD, ERDs, SQL-DDL, etc. are just different ways of describing data structures and organization. Each is "complex" if you try to make it do more than it was intended for, but only takes a couple weeks to understand well enough to get by.
Just say NO! (Score:1)
XSD!!!
Yes, thats right kids, this is really nothing more than a wild halucenegenic for your computer! Mix this in to your web pages, and look at all the `trippy' designs and patterns that it creates.
Available by the tab, strip or sheet.
(for the humor impaired, this is a joke. Maybe you need to take this stuff.)
XML Configuration files please! (Score:2, Insightful)
At the top of this file in the "comments" was a brief note about the format that this file was supposed to follow. According to this, there should never have been an entry without a description field. The code for one of the GUI programs ASS-U-MEd this would be the case, didn't do any checking and of course crapped out when it found a malformed entry (someone obviously hadn't read the format info in the comments when the made changes).
Now of course the code should have been robust enough to handle such and error, but ideally there would have been some checking of the config file to determine whether the file actually conformed to the listed format rules before it was sent out into production.
These config files are where XML's strengths can be quite useful. If this file had a formal schema definition and was created in XML, it would be quite easy to check this config file for correctness (syntactical at least) as part of the build process. The code which reads these files could be changed to use a simple XML parser to read through it, or hell you could even write an XSLT transform to turn it into the "non-XML" format (i.e. use the XML for developing the file only) and not have to change any of the existing code that reads that file!
There's been a big push towards XML configuration files in some segments of the industry (the Java J2EE camp for example). I for one hope this trend will continue.