For better or for worse , people often want more from XML instance documents than they do from conscience or love: They frequently want validation. Do you blame them?
The most immediate problem is that we want to be able to validate input instance documents against a schema so that the application that processes them doesn't abnormally terminate or produce incorrect output. Another concern is that whoever is using our XML output would like to know it is valid before they try to process it. This is essentially the same problem, just from a different perspective. But it's someone else who will feel the pain if documents aren't valid, not us. In this short chapter we'll modify the XML to CSV and CSV to XML Converter utilities so that validation is an option.
A related issue is whether or not to validate in the first place. When is it sufficient, or preferable, to just ensure that a document is well formed as opposed to valid in regard to a schema or DTD? This is a rather complex issue because it gets into broader considerations of application design. I'll discuss it in Chapter 12.