Synopses & Reviews
What is XML? XML, or eXtensible Markup Language, is a specification for storing information. It is also a specification for describing the structure of that information. And while XML is a markup language (just like HTML), XML has no tags of its own. It allows the person writing the XML to create whatever tags they need. The only condition is that these newly created tags adhere to the rules of the XML specification.
In the seven years since the first edition of “XML: Visual QuickStart Guide” was published, XML has taken its place next to HTML as a foundational language on the Internet. XML has become a very popular method for storing data and the most popular method for transmitting data between all sorts of systems and applications. The reason being, where HTML was designed to display information, XML was designed to manage it.
This book begins by showing you the basics of the XML language. Then, by building on that knowledge, additional and supporting languages and systems will be discussed. To get the most out of this book, you should be somewhat familiar with HTML, although you don’t need to be an expert coder by any stretch. No other previous knowledge is required.
“XML: Visual QuickStart Guide, 2nd Edition” is divided into seven parts. Each part contains one or more chapters with step-by-step instructions that explain how to perform XML-related tasks. Wherever possible, examples of the concepts being discussed are displayed, and the parts of the examples on which to focus are highlighted.
The order of the book is intentionally designed to be an introduction to the fundamentals of XML, followed by discussions of related XML technologies.
• In Part 1 of the book, you will learn how to create an XML document. It’s relatively straightforward, and even more so if you know a little HTML.
• Part 2 focuses on XSL, which is a set of languages designed to transform an XML document into something else: an HTML file, a PDF document, or another XML document. Remember, XML is designed to store and transport data, not display it.
• Parts 3 and 4 of the book discuss DTD and XML Schema, languages designed to define the structure of an XML document. In conjunction with XML Namespaces (Part 5), you can guarantee that XML documents conform to a pre-defined structure, whether created by you or by someone else.
• Part 6, Developments and Trends, details some of the up-and-coming XML-related languages, as well as a few new versions of existing languages.
• Finally, Part 7 identifies some well-known uses of XML in the world today; some of which you may be surprised to learn.
This beginner’s guide to XML is broken down as follows:
• Chapter 1: Writing XML
• Part 2: XSL
• Chapter 2: XSLT
• Chapter 3: XPath Patterns and Expressions
• Chapter 4: XPath Functions
• Chapter 5: XSL-FO
• Part 3: DTD
• Chapter 6: Creating a DTD
• Chapter 7: Entities and Notations in DTDs
• Chapter 8: Validation and Using DTDs
• Part 4: XML Schema
• Chapter 9: XML Schema Basics
• Chapter 10: Defining Simple Types
• Chapter 11: Defining Complex Types
• Part 5: Namespaces
• Chapter 12: XML Namespaces
• Chapter 13: Using XML Namespaces
• Part 6: Recent W3C Recommendations
• Chapter 14: XSLT 2.0
• Chapter 15: XPath 2.0
• Chapter 16: XQuery 1.0
• Part 7: XML in Practice
• Chapter 17: Ajax, RSS, SOAP and More
Web-maven Elizabeth Castro, who has penned Peachpit books on HTML, Perl and CGI, and Netscape, now tackles XML an indispensable tool for creating personalized, updated content for each visitor on your site. Whether you build Web pages for a living or you're taking on a new hobby, XML for the World Wide Web
contains everything you need to create dynamic Web sites by writing XML code, developing custom XML applications with DTDs and schemas, transforming XML into personalized Web content through XSLT-based transformations, and professionally formatting XML documents with Cascading Style Sheets.
The real power of XML lies in combining information from various sources and generating personalized content for different visitors. Castro's easy-to-follow graphics show exactly what XML looks like, and her real-world examples explain how to transform and streamline your website creation process by automatically updating content.
The Extensible Markup Language (XML) is a general-purpose markup language. It is classified as an extensible language because it allows its users to define their own elements. Its primary purpose is to facilitate the sharing of structured data across different information systems, particularly via the Internet. Hundreds of thousands of readers learned HTML and XML from Elizabeth Castro. This update to her bestselling XML: Visual QuickStart Guide, uses concise instructions and plenty of screen shots to teach beginning users all they need to know to write XML code, XSL, and Cascading Style Sheets, as well as providing the scripts required to generate each piece. For anyone wanting to learn XML and use it to generate dynamic Web sites, Castro's book can't be beat.
Extensible Markup Language (XML) is a general-purpose markup language. It is considered an extensible language because its users define their own elements. Its primary purpose is to facilitate the sharing of structured data across different information systems, particularly via local networks and the Internet. This update to the bestselling “XML: Visual QuickStart Guide” uses concise instructions and plenty of screen shots to teach beginning users all they need to know to write XML, XSL, DTD, XML Schema, and more. For anyone wanting to learn XML and its related technologies, this book is the most current, comprehensive, and easy-to-follow tutorial you’ll find today.
[There is a new edition of this book: XML, Second Edition: Visual QuickStart Guide by Kevin Howard Goldberg (
About the Author
Kevin Howard Goldberg has been working with computers since 1976 when he taught himself BASIC on his elementary school’s PDP 11/70. Since then, Kevin’s career has included management consulting, lead software development and in his current capacity, he runs technology operations for a world-class Internet Strategy, Marketing and Development company.
Kevin holds a bachelor’s degree in Economics and Entrepreneurial Management from the Wharton School of Business at the University of Pennsylvania, and is a candidate for a master’s degree in Computer Science at the University of California, Los Angeles.
Table of Contents
The Problem with HTML. The Power of XML. XML's Helpers. XML in the Real World. About This Book. What This Book Is Not. The XML VQS Website.
I. XML. 1. Writing XML.
Elements, Attributes, and Values. Rules for Writing XML. Declaring the XML Version. Creating the Root Element. Writing Non-Empty Elements. Nesting Elements. Adding Attributes. Using Empty Elements. Writing Comments. Writing Five Special Symbols. Displaying Elements as Text.
II. DTDS. 2. Creating a DTD.
Declaring an Internal DTD. Writing an External DTD. Naming an External DTD. Declaring a Personal External DTD. Declaring a Public External DTD. 3. Defining Elements and Attributes in a DTD.
Defining Elements. Defining an Element to Contain Only Text. Defining an Element to Contain One Child. Defining an Element to Contain a Sequence. Defining Choices. Defining How Many Units. About Attributes. Defining Simple Attributes. Defining Attributes with Unique Values. Referencing Attributes with Unique Values. Restricting Attributes to Valid XML Names. 4. Entities and Notations in DTDs.
Creating Shortcuts for Text. Using Shortcuts for Text. Shortcuts for Text in External Files. Creating and Using Shortcuts for DTDs. Creating Entities for Unparsed Content. Embedding Unparsed Content.
III. XML SCHEMA AND NAMESPACES. 5. XML Schema.
Simple and Complex Types. Local and Global Declarations. Beginning a Simple Schema. Indicating a Simple Schema's Location. Annotating Schemas. 6. Defining Simple Types.
Declaring an Element with a Simple Type. Using Date and Time Types. Using Number Types. Deriving Custom Simple Types. Using Anonymous Custom Types. Specifying a Set of Acceptable Values. Specifying a Pattern for a Simple Type. Specifying a Range of Acceptable Values. Limiting the Length of a Simple Type. Limiting a Number's Digits. Creating List Types. Predefining an Element's Content. 7. Defining Complex Types.
Defining Elements to Contain Only Elements. Requiring Elements to Appear in Sequence. Creating a Set of Choices. Allowing Elements to Appear in Any Order. Defining Named Groups. Referencing a Named Group. Referencing Already Defined Elements. Controlling How Many. Defining Elements to Contain Only Text. Defining Empty Elements. Defining Elements with Mixed Content. Basing Complex Types on Complex Types. Declaring an Element of Complex Type. Elements with Anonymous Complex Types. Declaring Attributes. Requiring an Attribute. Predefining an Attribute's Content. Defining Attribute Groups. Referencing Attribute Groups. 8. Using Namespaces in XML.
Designing a Namespace Name. Declaring Default Namespaces. Namespaces for Individual Elements. How Namespaces Affect Attributes. Namespaces, DTDs, and Valid Documents. 9. Namespaces, Schemas, and Validation.
Schemas and Namespaces. Populating a Namespace. Adding All Locally Declared Elements. Adding Particular Locally Declared Elements. Referencing Components with Namespaces. The Schema of Schemas as the Default. Namespaces and Validating XML. Indicating Where a Schema Is. Schemas in Multiple Files. Importing Components.
IV. XSLT AND XPATH. 10. XSLT.
Transforming XML with XSLT. Beginning an XSLT Style Sheet. Creating the Root Template. Outputting HTML Code. Outputting a Node's Content. Creating and Applying Template Rules. Batch-Processing Nodes. Processing Nodes Conditionally. Adding Conditional Choices. Sorting Nodes Before Processing. Generating Attributes. 11. XPath: Patterns and Expressions.
Determining the Current Node. Referring to the Current Node. Selecting a Node's Children. Selecting a Node's Parent or Siblings. Selecting All of the Descendants. Disregarding the Current Node. Selecting a Node's Attributes. Selecting Subsets. 12. Test Expressions and Functions.
Comparing Two Values. Testing the Position. Subtotaling Values. Counting Nodes. Multiplying, Dividing, Adding, Subtracting. Formatting Numbers. Rounding Numbers. Extracting Substrings. Capitalizing Strings.
V. CASCADING STYLE SHEETS. 13. Setting up CSS.
CSS with XML vs CSS with HTML. CSS1, CSS2, and Browsers. The Anatomy of a Style. Specifying Where Styles Are To Be Applied. Creating an External Style Sheet. Calling a Style Sheet for an XML Document. Calling a Style Sheet for an HTML Document. Using Internal Style Sheets. Applying Styles Locally. 14. Layout with CSS.
Defining Elements as Block-Level or Inline. Hiding Elements Completely. Offsetting Elements In the Natural Flow. Positioning Elements Absolutely. Setting the Height or Width for an Element. Setting the Border. Adding Padding Around an Element. Setting the Margins around an Element. Wrapping Text around Elements. Stopping Text Wrap. Changing the Foreground Color. Changing the Background. Positioning Elements in 3D. Aligning Elements Vertically. Determining Where Overflow Should Go. Clipping an Element. Setting List Properties. Specifying Page Breaks. 15. Formatting Text with CSS.
Choosing a Font Family. Embedding Fonts on a Page. Creating Italics. Applying Bold Formatting. Setting the Font Size. Setting the Line Height. Setting All Font Values at Once. Setting the Text Color. Changing the Text's Background. Controlling Spacing. Aligning Text. Underlining Text. Changing the Text Case.
VI. XLINK AND XPOINTER. 16. Links and Images: XLink and XPointer.
Creating a Simple Link. Creating a Linkset. Defining Reference Points. Defining Connections. Using a Linkset. Linking to Part of a File. Creating the Simplest XPointer. Creating Walking XPointers. Creating an XPointer Range. Appendix A: XHTML.
How Does a Browser Know? Writing XHTML. Declaring a DTD for XHTML. Appendix B: XML Tools.
Validating XML Files against a DTD. Validating XML with a Schema. Transforming XML with an XSLT Processor. Appendix C: Special Symbols.
Using Character References. Table I: Characters. Table II: Symbols. Appendix D: Colors in Hex.
Finding a Color's RGB Components-in Hex. Hexadecimal Equivalents. The Hexadecimal System. Index, Colophon, and Note.
Index. Colophon and Note.