Effective XML |
Part I: Syntax |
Stay with XML 1.0 |
Part II: Structure |
The XML Stack |
Allow All XML syntax |
Distinguish text from markup |
The reverse problem |
White space matters |
Make structure explicit through markup |
Store metadata in attributes |
Remember mixed content |
What you really want is this: |
What people do is this: |
Prefer URLs to unparsed entities and notations |
Part III: Semantics |
Use processing instructions for process-specific content |
Processing instructions are not appropriate when: |
Include all information in instance documents |
Encode binary data using quoted printable and/or Base64 |
Use namespaces for modularity and extensibility |
Reuse XHTML for generic narrative content |
Choose the right schema language for the job |
Use only what you need |
Always use a parser |
Layer Functionality |
Program to standard APIs |
Read the complete DTD |
Navigate with XPath |
Validate inside your program with schemas |
Part IV: Implementation |
Write documents in Unicode |
Avoid Vendor Lockin; Beware |
Hang on to your relational database |
Document Namespaces with RDDL |
Pick the correct MIME type |
TagSoup Your HTML |
Catalog common resources |
Compress if space is a problem |
To Learn More |