Enables readers to confirm that programs run as expected. Readers can also manipulate the code from the CD-ROM in the back of the book or from the book's Companion Website (www.prenhall.com/deitel). Ex.___
Provides hundreds of valuable programming tips and facilitates learning. Ex.___
Students can apply what they've learned in each chapter. Ex.___
Source code for all the book's examples, hyperlinks to Perl/CGI demos and Internet resources and the following software: Internet Explorer 5, Amaya & Browser (web browsers), Cocoon, Jakarta Tomcat (web servers), Xalan, FOP (XSLT Applications), Xerces, Crimson (Parsers). Ex.___
Provides additional hands-on experience and study aids for a minimal cost. Includes many hours of detailed, expert audio descriptions of “live code,” hundreds of self-review questions (half with answers), hundreds of programming exercises (half with answers), hundreds of tips that are marked with icons and show how to write XML code that's portable, reusable, and optimized for performance, and full-text searching and hyperlinking. Ex.___
This new book by the world's leading programming-language textbook authors carefully explains XML-based systems development, including programming multi-tier, client/server, databaseoriented, Internet and World-Wide-Web-based applications.
Dr. Harvey M. Deitel and Paul J. Deitel are the principals of Deitel & Associates, Inc., the internationally recognized corporate training and content-creation organization specializing in Java, C++, C, C#, Visual Basic®, XML, Python, Perl, ASP, Internet, World Wide Web and object technologies. The Deitels are also the authors of the world's #1 Java and C++ textbooks, Java How to Program, 3/e and C++ How to Program, 3/e.
In XML How to Program, the Deitels and their colleagues, Tern R. Nieto, Ted Lin and Praveen Sadhu discuss topics you need to build complete, working XML-based systems including:
XML How to Program includes extensive pedagogic features:
XML How to Program is the centerpiece of a complete family of resources for teaching and learning how to build real, working XML-based systems, including Web sites (www.deitel.com and www.prenhall.com/deitel) with the book's code examples and other information for faculty, students and professionals; optional interactive CDROM (XML Multimedia Cyber Classroom) containing thousands of hyperlinks, text search, audio walkthroughs of the hundreds of code examples and solutions to about half the exercises in the bookand e-mail access to the authors at firstname.lastname@example.org
For information on worldwide corporate on-site seminars and Webbased training offered by Deitel & Associates, Inc., visit: www.deitel.com
For information on current and forthcoming Deitel/Prentice Hall publications including How to Program Series books, Multimedia Cyber Classrooms, Complete Training Courses (that include Deitel books and Cyber Classrooms) and Web-Based Training Courses please see the last few pages of this book.
(NOTE: Each chapter begins with Objectives, an Outline, and an Introduction and ends with a Summary, Terminology, a summary of all the programming tips in the chapter, Self-Review Exercises, Self-Review Exercise Answers, and Exercises.)
1. Introduction to the Internet and World Wide Web.
Introduction. World Wide Web Consortium (W3C). History of the Internet. History of the World Wide Web. Future of Computing. History of SGML. XML and XML How to Program. A Tour of the Book. W3C XML Resources. Internet and World Wide Web Resources.
Introduction. Markup Languages. Editing HTML. Common Elements. Headers. Linking. Images. Special Characters and More Line Breaks. Unordered Lists. Nested and Ordered Lists. Internet and World Wide Web Resources.
Introduction. Basic HTML Tables. Intermediate HTML Tables and Formatting. Basic HTML Forms. More Complex HTML Forms. Internal Linking. Creating and Using Image Maps. <<meta>> Tags. frameset Element. Nested framesets. Internet and World Wide Web Resources.
Introduction. Inline Styles. Creating Style Sheets with the style Element. Conflicting Styles. Linking External Style Sheets. Positioning Elements. Backgrounds. Element Dimensions. Text Flow and the Box Model. User Style Sheets. Internet and World Wide Web Resources.
Introduction. Introduction to XML Markup. Parsers and Well-Formed XML Documents. Parsing an XML Document with msxml. Characters. Markup. CDATA Sections. XML Namespaces. Case Study: A Day Planner Application. Internet and World Wide Web Resources.
Introduction. Parsers, Well-Formed and Valid XML Documents. Document Type Declaration. Element Type Declarations.
Attribute Declarations. Attribute Types. Conditional Sections. Whitespace Characters. Case Study: Writing a DTD for the Day Planner Application. Internet and World Wide Web Resources.
Introduction. Schema vs. DTDs. Microsoft XML Schema: Describing Elements. Microsoft XML Schema: Describing Attributes. Microsoft XML Schema: Data Types. W3C XML Schema. Case Study: Writing a Microsoft XML Schema for the Day Planner Application. Internet and World Wide Web Resources.
Introduction. DOM vs. SAX. SAX-Based Parsers. Setup. Events. Example: Tree Diagram. Case Study: Using SAX with the Day Planner Application. SAX 2.0. Internet and World Wide Web Resources.
Introduction. Setup. Overview: Server Side of XmlMessenger. Implementation: Server Side of XmlMessenger. Overview: Client Side of XmlMessenger. Implementation: Client Side of XmlMessenger.
Introduction. Nodes. Location Paths. Node-Set Operators and Functions. Internet and World Wide Web Resources.
Introduction. Setup. Templates. Creating Elements and Attributes. Iteration and Sorting. Conditional Processing. Copying Nodes. Combining Stylesheets. Variables. Case Study: XSLT and XPath. Internet and World Wide Web Resources.
Introduction. Setup. Examples of XSL Formatting-Object Documents. Lists. Internet and World Wide Web Resources.
Introduction. XML Linking Language (XLink).
XLink and DTDs. XML Pointer Language (XPointer). XML Inclusions (XInclude). XML Base (XBase). Internet and World Wide Web Resources.
Introduction. Setup and Message Forum Documents. Forum Navigation. Adding Forums. Forum XML Documents. Posting Messages. Other HTML Documents. Internet and World Wide Web Resources.
Introduction. Cocoon. Extensible Server Pages (XSP). Case Study: A Wireless Online Bookstore. Jakarta Tomcat Setup. WAP and WML: Client-Side Documents. Java Servlets. Internet and World Wide Web Resources.
Introduction. Perl and XML. Setup. Displaying the Forums using XML::Parser. Using XML::DOM to Add Forums and Messages. Alterations for Non-XSL Browsers. Internet and World Wide Web Resources.
Introduction. Providing Alternatives for Multimedia Content. Maximizing Readability by Focusing on Structure. Accessibility in HTML Tables. Accessibility in HTML Frames. Accessibility in XML. Using Voice Synthesis and Recognition with VoiceXML™. JAWS® for Windows. Other Accessibility Tools. Internet and World Wide Web Resources.
Introduction. XHTML. XForms. Extended Forms Architecture (XFA). Internet and World Wide Web Resources.
Introduction. Mathematical Markup Language (MathML). OpenMath. Chemical Markup Language (CML). Wireless Markup Language (WML). Geography Markup Language (GML). Synchronized Multimedia Integration Language (SMIL). Scalable Vector Graphics (SVG). Bean Markup Language (BML). Extensible 3D Language (X3D). Additional Internet and World Wide Web Resources.
Introduction. Extensible Business Reporting Language (XBRL). Bank Internet Payment System (BIPS). Electronic Business XML (ebXML). Visa XML Invoice Specification. Commerce XML (cXML). LegalXML. NewsML. Open eBook Publication Structure. Extensible User Interface Language (XUL). Internet and World Wide Web Resources.
Introduction. XML Query Language (XQL). Directory Services Markup Language (DSML). Resource Definition Framework (RDF). XML Topic Maps (XTM). Virtual HyperGlossary (VHG). Channel Definition Format (CDF). Information and Content Exchange (ICE) Protocol. Rich Site Summary (RSS). Platform for Privacy Preferences (P3P). Blocks Extensible Exchange Protocol (BXXP). XML Digital Signatures. Extensible Rights Markup Language (XrML). XML Metadata Interchange (XMI). W3C's XML Protocol. XMAL.
Introduction. Simple Object Access Protocol (SOAP). Microsoft BizTalk. Internet and World Wide Web Resources.
Introduction. Operators. Data Types and Control Structures. VBScript Functions. VBScript Example Programs. Arrays. String Manipulation. Internet and World Wide Web Resources.
Introduction. How Active Server Pages Work. Client-Side Scripting versus Server-Side Scripting. Using Personal Web Server and Internet Information Server. Active Server Page Objects. A Simple ASP Example. Server-Side ActiveX Components. File System Objects. Session Tracking and Cookies. Databases, SQL, Microsoft UDA and ADO. Accessing a Database from an Active Server Page. Internet and World Wide Web Resources.
Introduction. Perl. String Processing and Regular Expressions. Viewing Client/Server Environment Variables. Form Processing and Business Logic. Server-Side Includes. Verifying a Username and Password. Using ODBC to Connect to a Database. Cookies and Perl. Internet and World Wide Web Resources.
Introduction. Java Keywords, Primitive Data Types and Class Libraries. Command-Line Java Applications. Arrays. Class Vector. Graphical User Interfaces: A Windowed Application with JFrames and Event Handling. Graphical User Interfaces: Event Handling with Inner Classes. Graphical User Interfaces: Miscellaneous Components. Graphical User Interfaces: Layout Managers. Graphical User Interfaces: Customizing a Component and Introducing Graphics. Multithreading. Networking with Sockets and Streams. Enhancing a Web Server with Servlets. Internet and World Wide Web Resources.
Introduction. Abbreviating Binary Numbers as Octal Numbers and Hexadecimal Numbers. Converting Octal Numbers and Hexadecimal Numbers to Binary Numbers. Converting from Binary, Octal, or Hexadecimal to Decimal. Converting from Decimal to Binary, Octal, or Hexadecimal. Negative Binary Numbers: Two's Complement Notation.
Introduction. On-Line Career Services. Career Opportunities for Employees. Internet and World Wide Web Resources.
Live in fragments no longer. Only connect.
Edward Morgan Forster
Welcome to the exciting world of XML! This book is by an old guy and four young guys. The old guy (HMD; Massachusetts Institute of Technology 1967) has been programming and/or teaching programming for 40 years. The four young guys (PJD; MIT 1991, TRN; MIT 1992, TML; Carnegie Mellon 2001, PS; Northeastern 2000) have each been programming and/or teaching programming for many years. The old guy programs and teaches from experience; the young guys do so from an inexhaustible reserve of energy. The old guy wants clarity; the young guys want performance. The old guy seeks elegance and beauty; the young guys want results. We got together to produce a book we hope you will find informative, challenging and entertaining.
Today, XML is arguably the hottest technology in the computer industry. Therefore, university professors are eager to incorporate XML into their undergraduate and graduate Internet, Web, e-business and e-commerce curricula. Professionals are eager to use XML in their industrial-strength information-technology applications. Students are highly motivated by the fact that they are learning a leading-edge technology (XML) that will be immediately useful to them as they leave the university environment and head into a world where the Internet and World Wide Web have a massive prominence.
After mastering the material in this book, students will be well prepared to take advantage of the Internet and the Web as they take upper-level courses and venture into the rapidly changing programming world.
XML How to Program is the latest book in the Deitel/Prentice Hall How to Program series. It is distinguished by its focus on XML-based application development using programming languages such as Java, VBScript and Perl.
We have syntax-colored the code throughout the book. The key focus of this book is applications development with XML. Our audiences care about XML processing on the client, XML processing on the server, using XML encoded data as a database, etc.
Many XML books are reference manuals with exhaustive listings of features. That is not our style. We concentrate on creating real, working applications. We provide the live-code examples on the CD accompanying this book (and on www.deitel.com) so that you can run the applications and see the results.
We are excited about the enormous range of possibilities XML has to offer. We performed extensive research for this book and located hundreds of Internet and Web resources (which we provide as live links on the CD-ROM that accompanies this book and on www.deitel.com) to help you learn about XML and its related technologies. These links include general information, tutorials and demonstrations. Please read the tour of the book in Chapter 1 to familiarize yourself with the XML technologies we present.
A cutting-edge technology, XML is constantly evolving. This creates tremendous challenges for us as authors, for our publisherPrentice Hall, for instructors, and for students and professional people.
We have worked hard to create useful live-code examples to help you master XML quickly and effectively. All of the code examples are on the accompanying disk and are available for free download from our Web sites:
XML How to Program contains a rich collection of examples and exercises drawn from many fields to provide the student with a chance to solve interesting real-world problems. The book concentrates on the principles of good software engineering and stresses clarity. We avoid arcane terminology and syntax specifications in favor of teaching by example. The book is written by educators who spend most of their time writing about and teaching edge-of-the-practice programming topics.
Live-Code Teaching Approach
The book is loaded with live-code examples. This is the focus of the way we teach and write about programming, and the focus of our multimedia Cyber Classrooms and Web-Based Training Courses as well. Each new concept is presented in the context of a complete, working program immediately followed by one or more windows showing the program's input/output dialog. We call this style of teaching and writing our live-code approach. We use programming languages to teach programming languages. Reading these programs is much like entering and running them on a computer.
World Wide Web Access
All of the code for XML How to Program (and our other publications) is on the Internet free for download at the Deitel & Associates, Inc. Web site -- www.deitel.com
Please download all the code and run each program as you read the text. Make changes to the code examples and immediately see the effects of those changes. It is a great way to learn programming. Note: You must respect the fact that this is copyrighted material. Feel free to use it as you study, but you may not republish any portion of it in any form without explicit permission from Prentice Hall and the authors.
Each chapter begins with a statement of Objectives. This tells students what to expect and gives them an opportunity, after reading the chapter, to determine if they have met these objectives. It is a confidence builder and a source of positive reinforcement.
The learning objectives are followed by quotations. Some are humorous, some are philosophical, and some offer interesting insights. Our students enjoy relating the quotations to the chapter material. Many of the quotations are worth a "second look" after you read each chapter.
The chapter Outline helps students approach the material in top-down fashion. This, too, helps students anticipate what is to come and set a comfortable and effective learning pace.
Example XML documents (with Program Outputs)
We present features in the context of complete, working XML documents. This is the focus of our teaching and our writing. We call it our live-code approach. Each Web document is followed by the outputs produced when the document is rendered in a Web browser (We use both Microsoft's Internet Explorer 5 and Netscape 6) and its scripts are executed. This enables students to confirm that the Web pages are rendered as expected. Reading the book carefully is much like entering the code and rendering these documents on a computer. The documents range from just a few lines of code to substantial examples with several hundred lines of code. Students should download all the code for the book from our Web site, and run each program while studying that program in the text.
An abundance of charts, line drawings and program outputs is included.
We have included programming tips to help students focus on important aspects of program development. We highlight these tips in the form of Good Programming Practices, Common Programming Errors, Testing and Debugging Tips, Performance Tips, Portability Tips, Software Engineering Observations and Look-and-Feel Observations. These tips and practices represent the best we have gleaned from a total of almost eight decades of programming and teaching experience. One of our studentsa mathematics majortold us that she feels this approach is like the highlighting of axioms, theorems and corollaries in mathematics books; it provides a foundation on which to build good software.
Each chapter ends with additional pedagogical devices. We present a thorough, bullet-list-style Summary of the chapter. This helps the students review and reinforce key concepts.
We include in a Terminology section an alphabetized list of the important terms defined in the chapteragain, further reinforcement.
Self-Review Exercises and Answers
Extensive self-review exercises and answers are included for self-study. This gives the student a chance to build confidence with the material and prepare for the regular exercises. Students should attempt all the self-review exercises and check their answers.
Exercises (Solutions in Instructor's Manual)
Each chapter concludes with a set of exercises including simple recall of important terminology and concepts; writing individual statements; writing small portions of XML documents and program; and writing complete XML documents. Instructors can use these exercises to form homework assignments, short quizzes and major examinations. The solutions for most of the exercises are included in the Instructor's Manual and the Instructor's CD available only to instructors through their Prentice-Hall representatives. NOTE: Please do not write to us requesting the instructor's manual. Distribution of this publication is strictly limited to college professors teaching from the book. Instructors may obtain the solutions manual only from their regular Prentice Hall representatives. We regret that we cannot provide the solutions to professionals. Solutions to approximately half of the exercises are included on the XML Multimedia Cyber Classroom CD (available in bookstores and computer stores; please see the last few pages of this book or visit our Web site at www.deitel.com for ordering instructions). If you purchased this book as part of The Complete XML Training Course, you should have also received the XML Multimedia Cyber Classroom CD. If you purchased only the book, you can purchase the Cyber Classroom CD separatelyplease see the ordering instructions at the end of the book.
We have included an extensive Index at the back of the book. This helps the student find any term or concept by keyword. The Index is useful to people reading the book for the first time and is especially useful to practicing programmers who use the book as a reference. The terms in the Terminology sections generally appear in the Index (along with many more index items from each chapter). Students can use the Index in conjunction with the Terminology sections to be sure they have covered the key material of each chapter.
"Double Indexing" of Live-Code Examples and Exercises
XML How to Program has many live-code examples. We have "double indexed" each of the live-code examples. For every source-code program in the book, we took the figure caption and indexed it both alphabetically and as a subindex item under "Examples." This makes it easier to find examples using particular features.
An extensive bibliography of books, articles and online documentation is included to encourage further reading.
The CD-ROM at the end of this book contains a variety of software, including Microsoft Internet Explorer 5, Apache Xalan (for Java), FOP and Xerces, W3C Amaya Web browser and Sun Microsystems' JAXP. The CD also contains the book's code examples and an HTML Web page with links to the Deitel & Associates, Inc. Web site, the Prentice Hall Web site and the many Web sites listed in the Web resources sections of the chapters. If you have access to the Internet, the Web page on the CD can be loaded into your World Wide Web browser to give you quick access to all the resources.
If you have any questions about using this software, please read the introductory documentation on the CD-ROM. Additional information is available at our Web site: www.deitel.com. We do not provide technical support for the software application programs. However, if you have any technical questions about the installation of the CD, please email email@example.com. They will respond promptly.
We have prepared an optional interactive, CD-ROM-based, software version of XML How to Program called the XML Multimedia Cyber Classroom. It is loaded with features for learning and reference. The Cyber Classroom is wrapped with the textbook at a discount in The Complete XML Training Course. If you already have the book and would like to purchase the XML Multimedia Cyber Classroom separately, please call 1-800-811-0912 and ask for ISBN# 0-13-089555-5.
The CD has an introduction with the authors overviewing the Cyber Classroom's features. The live-code example Web documents in the textbook truly "come alive" in the Cyber Classroom. With many of the examples, you can simply click the lightning bolt icon and the document will be loaded into a Web browser and rendered. You will immediately see the program's outputs. If you want to modify a document and see the effects of your changes, simply click the floppy-disk icon that causes the source code to be "lifted off" the CD and "dropped into" one of your own directories so that you can edit the document and try out your new version. Click the speaker icon for an audio that talks about the document and walks you through the code.
The Cyber Classroom also provides navigational aids including extensive hyperlinking. The Cyber Classroom remembers in a "history list" recent sections you have visited and allows you to move forward or backward in that history list. The thousands of index entries are hyperlinked to their text occurrences. You can key in a term using the "find" feature and the Cyber Classroom will locate occurrences of that term throughout the text. The Table of Contents entries are "hot," so clicking a chapter name takes you to that chapter.
Students like the solved problems from the textbook that are included with the Cyber Classroom. Studying and running these extra programs is a nice way for students to enhance their learning experience.
Students and professional users of our Cyber Classrooms tell us they like the interactivity and that the Cyber Classroom is an effective reference because of the extensive hyperlinking and other navigational features. We recently had an e-mail from a person who said that he lives "in the boonies" and cannot take a live course at a university, so the Cyber Classroom was a good solution to his educational needs.
Professors tell us that their students enjoy using the Cyber Classroom, spend more time on the course and master more of the material than in textbook-only courses. Also, the Cyber Classroom helps shrink lines outside professors' offices during office hours. We have also published the C++ Multimedia Cyber Classroom (3/e), the Visual Basic 6 Multimedia Cyber Classroom, the Java 2 Multimedia Cyber Classroom 3/e, the Internet and World Wide Web Programming Multimedia Cyber Classroom, e-Business and e-Commerce Multimedia Cyber Classroom and the Perl Multimedia Cyber Classroom.