Home > Store

XML How to Program

Register your product to gain access to bonus material or receive a coupon.

XML How to Program


  • Sorry, this book is no longer in print.
Not for Sale



  • Signature “Live Code Approach”–Language features are presented in the context of a wide variety of complete working programs. Features thousands of lines of code in hundreds of complete working programs.
    • 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. Ex.___

  • Outstanding, consistent and applied pedagogy–Icons throughout identify Software Engineering Observations; Good Programming Practices; Common Programming Errors; Portability Tips; Performance, Testing and Debugging tips.
    • Provides hundreds of valuable programming tips and facilitates learning. Ex.___

  • Extensive set of interesting exercises and substantial projects.
    • Students can apply what they've learned in each chapter. Ex.___

  • CD-ROM with each text.
    • 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.___

  • Also available with the Multimedia Cyber Classroom CD-ROM –In The Complete XML Training Course, Student Edition (0-13-089556-3).
    • 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.___


  • Copyright 2001
  • Dimensions: 7" x 9-1/4"
  • Pages: 1008
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-028417-3
  • ISBN-13: 978-0-13-028417-4

http://www.pearson.com/deitel™ introduction to
XML-based systemds development.

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:

  • DTD/Schema/Parsers
  • DOM (Document Object Model)
  • SAX 1/SAX 2 (Simple API for XML)
  • XPath/XLink/Namespaces
  • XBase/Xlnclude/XPointer/XSL
  • XSLT/XSL Formatting Objects
  • Perl/CGI/Active Server Pages
  • Java Servlets/Topic Maps
  • SVG (Scalable Vector Graphics)/X3D
  • WML (Wireless Markup Language)
  • WAI (Web Accessibility Initiative)
  • XForms/Cocoon/VoiceXML
  • MathML/OpenMath/XBRL/SMIL
  • CML (Chemical ML)/BML (Bean ML)
  • Intros to BizTalk/SOAP/CDF/RDF

XML How to Program includes extensive pedagogic features:

  • Hundreds of "live-code" programs with screen captures that show exact outputs
  • Extensive World Wide Web and Internet resources to encourage further research
  • Programming tips, recommended practices and cautions–all marked with icons

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 http://www.pearson.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 book–and e-mail access to the authors at deitel@deitel.com

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.


Related Article

DocBook Conversions with XFC

Sample Content

Table of Contents

(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.

2. Introduction to HyperText Markup Language 4: Part I.

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.

3. Introduction to HyperText Markup Language 4: Part II.

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.

4. Cascading Style Sheets™ (CSS).

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.

5. Creating Markup with XML.

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.

6. Document Type Definition (DTD).

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.

7. Schemas.

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.

8. Document Object Model (DOM™).

Introduction. DOM Implementations. DOM with JavaScript. Setup. DOM Components. Creating Nodes. Traversing the DOM. Case Study: Modifying the Day Planner Application to Use the DOM. Internet and World Wide Web Resources.

9. Simple API for XML (SAX).

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.

10. Case Study: XmlMessenger Program.

Introduction. Setup. Overview: Server Side of XmlMessenger. Implementation: Server Side of XmlMessenger. Overview: Client Side of XmlMessenger. Implementation: Client Side of XmlMessenger.

11. XML Path Language (XPath).

Introduction. Nodes. Location Paths. Node-Set Operators and Functions. Internet and World Wide Web Resources.

12. XSL: Extensible Stylesheet Language Transformations (XSLT).

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.

13. XSL: Extensible Stylesheet Language Formatting Objects.

Introduction. Setup. Examples of XSL Formatting-Object Documents. Lists. Internet and World Wide Web Resources.

14. XLink, XPointer, XInclude and XBase.

Introduction. XML Linking Language (XLink).

XLink and DTDs. XML Pointer Language (XPointer). XML Inclusions (XInclude). XML Base (XBase). Internet and World Wide Web Resources.

15. Case Study: Message Forum with Active Server Pages.

Introduction. Setup and Message Forum Documents. Forum Navigation. Adding Forums. Forum XML Documents. Posting Messages. Other HTML Documents. Internet and World Wide Web Resources.

16. Server-Side Java Programming.

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.

17. Perl and XML: A Web-Based Message Forums Application.

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.

18. Accessibility.

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.

19. XHTML and XForms.

Introduction. XHTML. XForms. Extended Forms Architecture (XFA). Internet and World Wide Web Resources.

20. Custom Markup Languages: Part I.

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.

21. Custom Markup Languages: Part II.

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.

22. XML Technologies and Applications.

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.

23. Simple Object Access Protocol (SOAP) and Microsoft BizTalk™.

Introduction. Simple Object Access Protocol (SOAP). Microsoft BizTalk. Internet and World Wide Web Resources.

24. Bonus Chapter: Introduction to Scripting with VBScript®.

Introduction. Operators. Data Types and Control Structures. VBScript Functions. VBScript Example Programs. Arrays. String Manipulation. Internet and World Wide Web Resources.

25. Bonus Chapter: Introduction to Active Server Pages (ASP).

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.

26. Bonus Chapter: Introduction to Perl Programming.

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.

27. Bonus Chapter: Introduction to Java 2 Programming.

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.

Appendix A: HTML Special Characters.

Appendix B: HTML Colors.

Appendix C: ASCII Character Set.

Appendix D: Operator Precedence Charts.

Appendix E: Number Systems.

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.

Appendix F: Career Resources.

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.

Why We Wrote XML How to Program

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 publisher—Prentice 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:

  • www.deitel.com
  • www.prenhall.com/deitel

Teaching Approach

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.

XML How to Program shows how to create Web sites starting with HTML programming, then rapidly proceeding to programming in XML. HTML and XML are considered to be markup languages rather than programming languages, but many of our examples use XML in the context of Java, VBScript, Active Server Pages, Perl and JavaScript. For those readers who wish to review these programming technologies, we include full-chapter introductions to VBScript, Active Server Pages, Perl and Java. The Java treatment is especially substantial.

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.

Programming Tips
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 students—a mathematics major—told 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.

  • Good Programming Practices
    Good Programming Practices are highlighted in the text. They call the students attention to techniques that help produce better programs. When we teach introductory courses to nonprogrammers, we state that the "buzzword" of each course is "clarity, " and we tell the students that we will highlight (in these Good Programming Practices) techniques for writing programs that are clearer, more understandable and more maintainable.
  • Common Programming Error
    Students learning a language—especially in their first programming course—tend to make certain kinds of errors frequently. Focusing on these Common Programming Errors helps students avoid making the same errors. It also helps reduce long lines outside instructors' offices during office hours!
  • Performance Tips
    In our experience, teaching students to write clear and understandable programs is by far the most important goal for a first programming course. But students want to write the programs that run the fastest, use the least memory, require the smallest number of keystrokes, or dazzle in other nifty ways. Students really care about performance. They want to know what they can do to "turbo charge" their programs. So we have include Performance Tips to highlight opportunities for improving program performance.
  • Portability Tips
    Software development is a complex and expensive activity. Organizations that develop software must often produce versions customized to a variety of computers and operating systems. So there is a strong emphasis today on portability, i.e., on producing software that will run on a variety of computer systems with few, if any, changes. Achieving portability requires careful and cautious design. There are many pitfalls. We include Portability Tips to help students write portable code.
  • Software Engineering Observations
    The Software Engineering Observations highlight techniques, architectural issues and design issues, etc. that affect the architecture and construction of software systems, especially large-scale systems. Much of what the student learns here will be useful in upper-level courses and in industry as the student begins to work with large, complex real-world systems.
  • Testing and Debugging Tips
    This "tip type" may be misnamed. When we first decided to incorporate Testing and Debugging Tips, we thought these tips would be suggestions for testing programs to expose bugs and suggestions for removing those bugs. In fact, most of these tips tend to be observations about programming capabilities and features that prevent bugs from getting into programs in the first place.
  • Look-and-Feel Observations
    We provide Look-and-Feel Observations to highlight graphical user interface (GUI) conventions. These observations help students design their own graphical user interfaces to conform with industry norms.

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 chapter—again, 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 separately—please see the ordering instructions at the end of the book.

Index Entries
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.

Software Included with XML How to Program

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 media.support@pearsoned.com. They will respond promptly.

XML Programming Multimedia Cyber Classroom and The
Complete XML Programming Training Course

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.


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020