From Book News, Inc.
Intended for readers with some basic understanding of XML programming, this book discusses advanced XML technologies, such as XML Document Object Model, XML schemas, and XSL Transformations. Floyd, a technical journalist and Web developer, provides practical advise and sample code for how to: build customized sites; enhance site appearance and maintenance; determine when to use client-side or server-side processing; and integrate and use XML with databases. The enclosed CD-ROM includes a complete XML-based Web site, example programs, and on- line resources.Book News, Inc.®, Portland, OR
Book Info
Provides step-by-step instruction to enhancing Web or Internet sites using XML. Discusses client side and serverside, XSLT, DOM, Java-based servlets, active server pages, and schemas. Includes a complete XML-based Website to kickstart your site's development. Softcover. CD-ROM included. DLC: XML (Document markup language).
From the Inside Flap
Preface The time was early 1997, and the place was the Sixth International World Wide Web Conference. I was sitting at a courtyard table at the Santa Clara, California, conference trying to grab a free meal as journalists are known to do. Across from me was a product manager from a French-based company, Grif, extolling the marvels of a new markup language, XML. It was, literally, a far cry from the Fifth International World Wide Web Conference I had attended a year earlier in Paris. Then, there was talk of putting full SGML on the Web. But there were enormous hurdles to overcome. SGML was too bloated with options for the Web. It sported features that had more to do with large-scale document management than individual Web page publishing. Worse, full SGML was very complex compared to HTML, which is just a single application of SGML. Let's face it, the reason for HTML's success is largely thought to be its simplicity. In 1996, XML was a non-story. Yet, in one short year it had become one of the hottest topics within the Web community. As the Editor in Chief of Web Techniques magazine, I was attending this '97 conference with an eye toward securing an XML columnist for our monthly publication. Grif was one of the early companies involved in XML development and possessed the talent we were looking for. I didn't want a theorist. I was looking for a practitioner. Unfortunately, Grif was on XML's event horizon: a black hole sucking everything in its path. I would have to find my columnist elsewhere. Little did I know at the time that within 12 months I would resign my post as the magazine's editor and become that columnist. Meeting Charles Four months into the Beyond HTML column, I noted from a message in the newly-formed XML news group that Charles F. Goldfarb would be giving a talk at our local Computer Literacy book shop. Charles, the inventor of SGML, was out promoting his latest book, The XML Handbook. I decided that an interview with the father of markup languages would fit nicely into the column, so I contacted him to make the arrangements. He graciously accepted. In preparing for the interview, I learned that it was he who coined the term "markup language." I also learned that in 1969 Charles, leading a small team at IBM, developed a language called GML (Charles is the "G" in GML). Of course, I knew he created SGML in 1974, but I also learned that he wrote the first SGML parser, ARCSGML. Charles also worked to turn SGML into the ISO 8879 standard, and he serves as its editor. My interview with Charles was delightful. He was extremely approachable, and his answers were insightful. In querying him about document exchange versus data exchange, Charles responded that: "These are all documents in the sense of the way that word is used in the dictionary. It's recognizing that XML is a data representation that has the characteristics of a document. That's where the real power comes in, because you can process it as datayou can parse it and extract the dataor you can present it the way you would a document. And you can do both of those in the same application at the same time. That's the real breakthrough." Charles and I stayed in touch over the following months, and it wasn't long before he suggested that I write a book for his series. Needless to say, I was honored. During those months we tossed around several ideas. We knew that XML was quickly spreading beyond the confines of the Web. As such, XML's roots in Web development were being left behind. My background with Web Techniques set up the perfect match to write Building Web Sites with XML. So, with a nod of approval from Charles, my journey began. About the Journey Building Web Sites with XML explores the technologies, tools, and most importantly, the techniques required to build cutting-edge Web sites using XML, Extensible Stylesheet Language (XSL), and the Document Object Model (DOM). The book introduces XML concepts with expanded coverage of the latest XSL Transformation language, then shows Web designers, Web application developers, and Webmasters how they can use XML to enhance the look and feel, interoperability, operation, and maintenance of their Web sites. This is not a theoretical discussion of XML, nor is it a case study of someone else's project. This book presents hands-on techniques that Web developers can immediately use to enhance their Web sites. Most importantly, the book presents this information in a concise, straightforward manner that doesn't cloud the practical application of XML with esoteric theory. Goals for This Book One of my goals in writing this book has been to recognize and address all Web developersfrom authors and designers comfortable in the ways of HTML and JavaScript, to Web application developers using industrial strength languages like Java and C++. At the same time, it is not my intention to obscure important XML topics with esoteric programming details. Therefore, the primary language used in this book is JavaScript. This choice should make programming, particularly as it relates to the DOM, approachable to non-programmers while giving seasoned developers enough detail to apply XML to their discipline. An additional goal of this book is to remain platform neutral. Therefore, you will find coverage of both Unix and Windows NT, Apache and Internet Information Server, Java Server Pages and Active Server Pages. Thus, you will be able to find hands-on information that you can apply to your existing arrangement, regardless of the platform, software, and tools you are using. One caveat, of course, is client-side processing. At the time of this writing, only Internet Explorer provides sufficient XML support to warrant coverage in this book. Therefore, this book uses Internet Explorer 5 solely for its browser platform. However, it shows how you can use server-side processing to process XML for display in any browser, no matter what its capabilities are. Another goal is to provide all of the information you will need to create real-world XML applications. In particular, the first half of this book provides in-depth coverage of XML, the DOM, and XSL. Later parts of the book cover XML schemas and Document Type Definitions (DTDs). The book includes numerous tables for easy reference. So, while the focus of this book is on Web-based applications, you should find it to be a valuable resource in much of your XML-related development. In addition, applications and examples are included to walk you step by step through the process of creating and processing XML. Examples show how you can transform and render XML using XSL, search and sort XML data, populate tables with XML data streams, create XML-based navigation schemes, and more. Unlike other books, the tools and techniques presented here cover both server- and client-side processing of XML data. As a final goal, this book covers all of the tools you will need to create real-world XML applications. In particular, this book presents tools for Java servlet and CGI programmers, ASP developers, and JavaScript scripters. The book walks you through the steps of installing these tools on both the development and server platforms so that you can create your own development environment and build solutions for delivering XML. How to Use This Book This book is organized into four parts. Part 1 covers general XML topics, including XSL, the DOM, and Web-based vocabularies, and gives a quick review of XML markup. Part 2 covers XML in the browser, while Part 3 presents solutions for delivering XML from the Web server. Part 4 covers extended topics such as XML Forms that should be of particular interest to Web developers, and it builds on all of the concepts presented through the book to build a complete Web site based on XML. You can, of course, read the book from cover to cover. In fact, I recommend that you skim all of the chapters in order at least once. If you are new to XML, you will want to read Part 1 carefully before jumping to either Part 2 or Part 3. Chapter 1 is designed to orient you to XML by describing how XML came about and the reasons for its importance, and suggesting possible applications of the technology. The chapter also introduces technologies such as DTDs, XSL, and the DOM, and it describes XML's relationship with HTML and Cascading Style Sheets (CSS). Chapter 2 introduces the structured document and provides a quick tour of XML markup to get you started. Note that Chapter 2 is not an intensive tutorial on XMLyou can get that from one of the introductory books on the topic. Rather, this chapter is designed to get you up to speed quickly so you can begin real-world XML development as soon as possible. A key chapter in this book, Chapter 3, introduces XSL and its associated transformation language, XSLT. XSLT is a primary means for accessing and processing XML elements. Many of the techniques presented throughout the rest of the book hinge on concepts presented in this chapter. Therefore, you will want to read this chapter carefully and refer back to it often. F
From the Back Cover
Enhance your Web and Intranet sites with XML right now Step-by-step examples, hands-on techniques, tested code! Client-side and server-side: XSLT, DOM, Java™-based servlets, Active Server Pages, schemas, and more CD-ROM: Includes a complete XML-based Web site to kickstart your site's development Building Web Sites with XML "XML's powerful support for data aggregation and smart data-driven styling will make it the Web developer's most useful tool. Michael Floyd's book teaches you to wield it like a master." Charles F. Goldfarb Build cutting-edge dynamic and interactive Web sites with XML-step by step! Building Web Sites with XML walks you step by step through enhancing your Web or Intranet site using XML! Leading Web developer Michael Floyd helps you apply the XML technologies you need to know, including the XML Document Object Model, XML schemas, and XSL Transformations (XSLT). If you know basic XML and you're ready to leverage its full power on your Web, Intranet, and e-commerce sites, you're ready for the book that will show you how: Building Web Sites with XML. You'll find practical techniques and real-world sample code for: Building dynamic sites customized to your users' browsers and preferences Serving XML using CGI, Java™-based servlets, and Active Server Pages Enhancing site appearance, interoperability, and maintainability with XML Client-side and server-side processing-with guidance on when to use each Working with specialized Web vocabularies: VML, XHTML, SMIL, CDF, RDF, and more Using XML with databases: SQL queries, data transformations, and XML-enabled shopping carts Displaying XML in any browser-even legacy browsers CD-ROM INCLUDED The CD-ROM includes a complete XML-based Web site to kickstart your site's development.
About the Author
MICHAEL FLOYD is a veteran technical journalist and is currently serving as the Beyond HTML columnist and Editor-at-Large at Web Techniques magazine. He was a longtime editor at the prestigious Dr. Dobb's Journal and now publishes BeyondHTML.com, an experimental Web site based on his writings on XML. DR. GOLDFARB is the father of markup languages, a term that he coined in 1970, and is the inventor of SGML, the International Standard on which both XML and HTML are based. He is the author of The SGML Handbook™ and co-author of The XML Handbook™ and The SGML Buyer's Guide™.
Excerpt. © Reprinted by permission. All rights reserved.
Preface The time was early 1997, and the place was the Sixth International World Wide Web Conference. I was sitting at a courtyard table at the Santa Clara, California, conference trying to grab a free meal as journalists are known to do. Across from me was a product manager from a French-based company, Grif, extolling the marvels of a new markup language, XML. It was, literally, a far cry from the Fifth International World Wide Web Conference I had attended a year earlier in Paris. Then, there was talk of putting full SGML on the Web. But there were enormous hurdles to overcome. SGML was too bloated with options for the Web. It sported features that had more to do with large-scale document management than individual Web page publishing. Worse, full SGML was very complex compared to HTML, which is just a single application of SGML. Let's face it, the reason for HTML's success is largely thought to be its simplicity. In 1996, XML was a non-story. Yet, in one short year it had become one of the hottest topics within the Web community. As the Editor in Chief of Web Techniques magazine, I was attending this '97 conference with an eye toward securing an XML columnist for our monthly publication. Grif was one of the early companies involved in XML development and possessed the talent we were looking for. I didn't want a theorist. I was looking for a practitioner. Unfortunately, Grif was on XML's event horizon: a black hole sucking everything in its path. I would have to find my columnist elsewhere. Little did I know at the time that within 12 months I would resign my post as the magazine's editor and become that columnist. Meeting Charles Four months into the Beyond HTML column, I noted from a message in the newly-formed XML news group that Charles F. Goldfarb would be giving a talk at our local Computer Literacy book shop. Charles, the inventor of SGML, was out promoting his latest book, The XML Handbook. I decided that an interview with the father of markup languages would fit nicely into the column, so I contacted him to make the arrangements. He graciously accepted. In preparing for the interview, I learned that it was he who coined the term "markup language." I also learned that in 1969 Charles, leading a small team at IBM, developed a language called GML (Charles is the "G" in GML). Of course, I knew he created SGML in 1974, but I also learned that he wrote the first SGML parser, ARCSGML. Charles also worked to turn SGML into the ISO 8879 standard, and he serves as its editor. My interview with Charles was delightful. He was extremely approachable, and his answers were insightful. In querying him about document exchange versus data exchange, Charles responded that: "These are all documents in the sense of the way that word is used in the dictionary. It's recognizing that XML is a data representation that has the characteristics of a document. That's where the real power comes in, because you can process it as datayou can parse it and extract the dataor you can present it the way you would a document. And you can do both of those in the same application at the same time. That's the real breakthrough." Charles and I stayed in touch over the following months, and it wasn't long before he suggested that I write a book for his series. Needless to say, I was honored. During those months we tossed around several ideas. We knew that XML was quickly spreading beyond the confines of the Web. As such, XML's roots in Web development were being left behind. My background with Web Techniques set up the perfect match to write Building Web Sites with XML. So, with a nod of approval from Charles, my journey began. About the Journey Building Web Sites with XML explores the technologies, tools, and most importantly, the techniques required to build cutting-edge Web sites using XML, Extensible Stylesheet Language (XSL), and the Document Object Model (DOM). The book introduces XML concepts with expanded coverage of the latest XSL Transformation language, then shows Web designers, Web application developers, and Webmasters how they can use XML to enhance the look and feel, interoperability, operation, and maintenance of their Web sites. This is not a theoretical discussion of XML, nor is it a case study of someone else's project. This book presents hands-on techniques that Web developers can immediately use to enhance their Web sites. Most importantly, the book presents this information in a concise, straightforward manner that doesn't cloud the practical application of XML with esoteric theory. Goals for This Book One of my goals in writing this book has been to recognize and address all Web developersfrom authors and designers comfortable in the ways of HTML and JavaScript, to Web application developers using industrial strength languages like Java and C++. At the same time, it is not my intention to obscure important XML topics with esoteric programming details. Therefore, the primary language used in this book is JavaScript. This choice should make programming, particularly as it relates to the DOM, approachable to non-programmers while giving seasoned developers enough detail to apply XML to their discipline. An additional goal of this book is to remain platform neutral. Therefore, you will find coverage of both Unix and Windows NT, Apache and Internet Information Server, Java Server Pages and Active Server Pages. Thus, you will be able to find hands-on information that you can apply to your existing arrangement, regardless of the platform, software, and tools you are using. One caveat, of course, is client-side processing. At the time of this writing, only Internet Explorer provides sufficient XML support to warrant coverage in this book. Therefore, this book uses Internet Explorer 5 solely for its browser platform. However, it shows how you can use server-side processing to process XML for display in any browser, no matter what its capabilities are. Another goal is to provide all of the information you will need to create real-world XML applications. In particular, the first half of this book provides in-depth coverage of XML, the DOM, and XSL. Later parts of the book cover XML schemas and Document Type Definitions (DTDs). The book includes numerous tables for easy reference. So, while the focus of this book is on Web-based applications, you should find it to be a valuable resource in much of your XML-related development. In addition, applications and examples are included to walk you step by step through the process of creating and processing XML. Examples show how you can transform and render XML using XSL, search and sort XML data, populate tables with XML data streams, create XML-based navigation schemes, and more. Unlike other books, the tools and techniques presented here cover both server- and client-side processing of XML data. As a final goal, this book covers all of the tools you will need to create real-world XML applications. In particular, this book presents tools for Java servlet and CGI programmers, ASP developers, and JavaScript scripters. The book walks you through the steps of installing these tools on both the development and server platforms so that you can create your own development environment and build solutions for delivering XML. How to Use This Book This book is organized into four parts. Part 1 covers general XML topics, including XSL, the DOM, and Web-based vocabularies, and gives a quick review of XML markup. Part 2 covers XML in the browser, while Part 3 presents solutions for delivering XML from the Web server. Part 4 covers extended topics such as XML Forms that should be of particular interest to Web developers, and it builds on all of the concepts presented through the book to build a complete Web site based on XML. You can, of course, read the book from cover to cover. In fact, I recommend that you skim all of the chapters in order at least once. If you are new to XML, you will want to read Part 1 carefully before jumping to either Part 2 or Part 3. Chapter 1 is designed to orient you to XML by describing how XML came about and the reasons for its importance, and suggesting possible applications of the technology. The chapter also introduces technologies such as DTDs, XSL, and the DOM, and it describes XML's relationship with HTML and Cascading Style Sheets (CSS). Chapter 2 introduces the structured document and provides a quick tour of XML markup to get you started. Note that Chapter 2 is not an intensive tutorial on XMLyou can get that from one of the introductory books on the topic. Rather, this chapter is designed to get you up to speed quickly so you can begin real-world XML development as soon as possible. A key chapter in this book, Chapter 3, introduces XSL and its associated transformation language, XSLT. XSLT is a primary means for accessing and processing XML elements. Many of the techniques presented throughout the rest of the book hinge on concepts presented in this chapter. Therefore, you will want to read this chapter carefully and refer back to it often. Finally, Part 1 wraps up with Chapter 4, which discusses several XML vocabularies that are of particular interest to Web developers. This chapter presents vocabularies to handle time-based multimedia, vector graphics, speech, and a great deal more. In all likelihood, you will want to make use of one or more of these vocabularies in your own development efforts. Kicking off Part 2, Chapter 5 examines another critical topic, the DOM as it is described in the DOM level 1 specification. This chapter is filled with reference information. So, again, you will want to refer back to it often. If you are planning to do client-side development, then Chapter 6 is for you. This chapter examines the XML support built into Internet Explorer and describes how Microsoft extends the DOM API as it is described in the DOM specification. In this chapter, you'll learn how to write inline XML and create XML data islands within your HTML pages. You'll also learn how to create data source objects and populate tables from data stored in a database. In addition, this chapter examines the Channel Definition Format and the Open Software Description specification. Together, these two technologies will allow you to create push channels and offer software components over these channels. Building on that, Chapter 7 presents several projects in Internet Explorer. These projects specifically take advantage of the DOM while offering real-world solutions to Web problems. For example, this chapter shows how to open an XML file, load a document into the DOM, and access its elements through API calls. The example applications include a Web site navigation system and a visual tool for documenting the structure of an XML document. Chapter 8 builds on the concepts presented in Chapter 3 by showing effective techniques for presenting XML in the browser using XSL. This chapter shows how to determine browser support, select and load an XSL style sheet from a list of style sheets, create and filter result sets, and more. Part 3 covers server-side development, starting with a roundup of the methods you can use to extend your Web server to send, receive, and process XML. In these chapters, you will learn about CGI and Perl solutions for delivering XML (Chapter 9), how to integrate Java-based XML processors and Java servlets (Chapter 10), and how to process XML from within Active Server Pages (Chapter 11). Part 4 covers advanced topics such as XML Forms (Chapter 12) and the new XML Schema proposal (Chapter 13). Chapter 14 wraps up all of the concepts presented in the book by presenting a full-blown Web site based on XML. The example Web site uses Active Server Pages to process files marked up with XML. The site includes XML template files, style sheets, and server pages that you can use to create your own site for serving XML. Concluding Thoughts For me, writing this Preface marks the end of a wondrous journey. That journey has taken me through passages of XML, into the valleys of style, and up the heights of the DOM. It has been an exploration of the modules of CGI/Perl and a voyage across the seas of Java processors. Now, as I conclude my journey, I feel a bit like one of the early cartographersmapping his way as he goes. And like many such mapmakers, I wish I had stayed in one place or another to explore just a little more. So I pass this map on to you in the hopes you will explore those places I have missed. For me, it is time for a new journey. But for you, the journey has already begun.
Building Web Sites with XML FROM THE PUBLISHER
Enhance your Web and Intranet sites with XML right now Step-by-step examples, hands-on techniques, tested code! Client-side and server-side: XSLT, DOM, Java-based servlets, Active Server Pages, schemas, and more CD-ROM: Includes a complete XML-based Web site to kickstart your site's development
Building Web Sites with XML
"XML's powerful support for data aggregation and smart data-driven styling will make it the Web developer's most useful tool. Michael Floyd's book teaches you to wield it like a master." Charles F. Goldfarb
Build cutting-edge dynamic and interactive Web sites with XML-step by step!
Building Web Sites with XML walks you step by step through enhancing your Web or Intranet site using XML! Leading Web developer Michael Floyd helps you apply the XML technologies you need to know, including the XML Document Object Model, XML schemas, and XSL Transformations (XSLT).
If you know basic XML and you're ready to leverage its full power on your Web, Intranet, and e-commerce sites, you're ready for the book that will show you how: Building Web Sites with XML.
You'll find practical techniques and real-world sample code for: Building dynamic sites customized to your users' browsers and preferences Serving XML using CGI, Java-based servlets, and Active Server Pages Enhancing site appearance, interoperability, and maintainability with XML Client-side and server-side processing-with guidance on when to use each Working with specialized Web vocabularies: VML, XHTML, SMIL, CDF, RDF, and more Using XML with databases: SQLqueries, data transformations, and XML-enabled shopping carts Displaying XML in any browser-even legacy browsers
CD-ROM INCLUDED
The CD-ROM includes a complete XML-based Web site to kickstart your site's development.
SYNOPSIS
Enhance your Web and Intranet sites with XML right now Step-by-step examples, hands-on techniques, tested code! Client-side and server-side: XSLT, DOM, Java-based servlets, Active Server Pages, schemas, and more CD-ROM: Includes a complete XML-based Web site to kickstart your site's development Building Web Sites with XML
"XML's powerful support for data aggregation and smart data-driven styling will make it the Web developer's most useful tool. Michael Floyd's book teaches you to wield it like a master." Charles F. Goldfarb Build cutting-edge dynamic and interactive Web sites with XML-step by step! Building Web Sites with XML walks you step by step through enhancing your Web or Intranet site using XML! Leading Web developer Michael Floyd helps you apply the XML technologies you need to know, including the XML Document Object Model, XML schemas, and XSL Transformations (XSLT). If you know basic XML and you're ready to leverage its full power on your Web, Intranet, and e-commerce sites, you're ready for the book that will show you how: Building Web Sites with XML. You'll find practical techniques and real-world sample code for:
Building dynamic sites customized to your users' browsers and preferences Serving XML using CGI, Java-based servlets, and Active Server Pages Enhancing site appearance, interoperability, and maintainability with XML Client-side and server-side processing-with guidance on when to use each Working with specialized Web vocabularies: VML, XHTML, SMIL, CDF, RDF, and more Using XML with databases: SQL queries, data transformations, and XML-enabledshopping carts Displaying XML in any browser-even legacy browsers CD-ROM INCLUDED
The CD-ROM includes a complete XML-based Web site to kickstart your site's development.
FROM THE CRITICS
Booknews
Intended for readers with some basic understanding of XML programming, this book discusses advanced XML technologies, such as XML Document Object Model, XML schemas, and XSL Transformations. Floyd, a technical journalist and Web developer, provides practical advise and sample code for how to: build customized sites; enhance site appearance and maintenance; determine when to use client-side or server-side processing; and integrate and use XML with databases. The enclosed CD-ROM includes a complete XML-based Web site, example programs, and on- line resources. Annotation c. Book News, Inc., Portland, OR (booknews.com)