Effective XML |
Part I: Syntax |
Item 1: Include an XML declaration |
Item 3: Stay with XML 1.0 |
Part II: Structure |
The XML Stack |
Item 14: Allow All XML syntax |
Item 9: Distinguish text from markup |
The reverse problem |
Item 10: White space matters |
Item 11: Make structure explicit through markup |
Item 12: Store metadata in attributes |
Item 13: Remember mixed content |
What you really want is this: |
What people do is this: |
Item 16: Prefer URLs to unparsed entities and notations |
Part III: Semantics |
Item 17: Use processing instructions for process-specific content |
Processing instructions are not appropriate when: |
Item 18: Include all information in instance documents |
Item 19: Encode binary data using quoted printable and/or Base64 |
Item 20-22: Use namespaces for modularity and extensibility |
Item 23: Reuse XHTML for generic narrative content |
Item 24: Choose the right schema language for the job |
Item 25: Pretend there's no such thing as the PSVI |
Item 28: Use only what you need |
Item 29: Always use a parser |
Item 30: Layer Functionality |
Item 31-33: Program to standard APIs |
Item 34: Read the complete DTD |
Item 35: Navigate with XPath |
Item 36: Serialize XML with XML |
Item 37: Validate inside your program with schemas |
Part IV: Implementation |
Item 38: Write documents in Unicode |
Item 40: Avoid Vendor Lockin; Beware |
Item 41: Hang on to your relational database |
Item 42: Document Namespaces with RDDL |
Item 43: Preprocess XSLT on the server side |
Item 44: Serve XML+CSS to the client |
Item 45: Pick the correct MIME type |
Item 46: TagSoup Your HTML |
Item 47: Catalog common resources |
Item 50: Compress if space is a problem |
To Learn More |