Meta-programming, or writing programmes that customize, guide and modify other programmes, is not a very new idea (LISP programmers have been doing it for decades) - but XML gives it a profoundly new twist. XML greatly increases the ability of the user to exercise control over computer programmes, by editing easily understandable text files. These programmes know as little as possible about what they are actually being used to do. Instead, their structure and behavior are described with XML in domain-specific languages, and the programmes "interpret" the descriptions. Once INI files and Notepad are replaced with XML files and a validating XML editor, the possibilities for controlling programmes from text files increases immeasurably, perhaps introducing a new way of programming and a new relationship between the user, the programmer and the program. The theme of the book is this collection of new possibilities; its goal is to help bring about the new relationship. The book is in three parts. The first part is about Java, with no XML in sight. It covers the basic plumbing of a distributed Web application written in Java. The second part is about XML and XSLT, with very little Java.
The task here is to summarize both standard XML and XSLT and discover good programming practices.
Table of Contents:
Introduction Chapter 1: Three-Tier Web Applications Chapter 2: Toward a Generic Three-Tier Application Chapter 3: A Shell for Three-Tier Applications Chapter 4: Languages, Grammars and Parsers Chapter 5: XML Beginnings Chapter 6: Entities and DTDs Chapter 7: The DOM, the SAX and the Parser Chapter 8: SAX Processing, the Sun Parser and a Conformance Study Chapter 9: Interpreting XML Mini-Languages Chapter 10: JSPs and JavaBeans Chapter 11: Toward a Many-Legged System: Generic Tools Chapter 12: Toward a Many-Legged System: Specific Constructions Chapter 13: XSLT and XPath Appendix A: A Brief Installation Guide Appendix B: Resources Appendix C: HTTP Appendix D: JDBC API Reference Appendix E: JSDK API Reference Appendix F: JavaServer Pages Syntax Summary Appendix G: Core JavaMail / JAF API Reference Appendix H: Extensible Markup Language (XML) 1.0 Specification Appendix I: Namespaces in XML Appendix J: DOM 1 Core: IDL and Java Language Binding Appendix K: SAX API Reference Appendix L: Regular Expressions Appendix M: Support and Errata Index 13