[Dev] XML Learning

Tom Bryan dev@trilug.org
Sat, 13 Jul 2002 19:17:57 +0500


On Saturday 13 July 2002 12:42 am, Michael Mueller wrote:

> Bit of Pandora's Box is it not?  I am coming at XML from a DocBook user
> manual perspective.  My first goal is to be proficient with DocBook.
> There's just too much magic going on for me to feel comfortable.  I started
> reading a bit about SGML and XML and XSL and my comfort level started to
> rise.  I want my DocBook experience to be a launching point for further XML
> study.

Then the WROX book I mentioned might be a good starting point, especially if 
there has been an update recently.  After the first few chapters, it's set up 
as topic chapters so (while there is some building on previous chapters) many 
of the chapters can be read out of order acording to your interest.  

I know what you mean, though.  The basics of XML are fairly simple.  I can 
state them in a few sentences.  XML defines a standard, tag-based plain text 
document/data/content mark up language.  XML "instance" documents conforming 
to the basic rules of XML are well-formed.  Each document may also conform to 
a specific DTD or XML Schema, which defines what a valid document looks like.  
Esentially, the DTD/XML Schema defines a vocabulary, and an instance document 
can then be written to that vocabulary.

>From a programmer's perspective, this separation is nice.  People can write 
tools for processing XML documents.  These tools are very generic since they 
just need to process well-formed documents and maybe determine the instance 
document's validity against a given DTD/XML Schema.  Xerces is an example of 
such a tool.  Then, there are other tools that can lean on the first set of 
tools.  These tools are designed to process documents within a specific 
vocabulary.  For example, there are tools that can convert DocBook XML 
documents into other formats, such as HTML.  

Unfortunately, beyond those basics, using XML effectively seems somehwhat 
daunting.  For example, if you really want to learn about XSLT, you need to 
have a grasp of XML namespaces, XPath, and XPointer.  None of those are hard 
in themselves, but like you said: it feels like a Pandora's box.  Or perhaps, 
the old junk closet.  It's hard to reach in and get just one thing.

---Tom