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 ProgramToday, 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. Introduction to the Internet and World Wide Web......Page 1 1.2 World Wide Web Consortium (W3C)......Page 2 1.3 History of the Internet......Page 3 1.4 History of the World Wide Web......Page 4 1.5 Future of Computing......Page 5 1.6 History of SGML......Page 6 1.7 XML and XML How to Program......Page 7 1.8 A Tour of the Book......Page 10 1.10 Internet and World Wide Web Resources......Page 19 Introduction to HyperText Markup Language 4: Part I......Page 23 2.1 Introduction......Page 24 2.3 Editing HTML......Page 25 2.4 Common Elements......Page 26 2.5 Headers......Page 28 2.6 Linking......Page 29 2.7 Images......Page 32 2.8 Special Characters and More Line Breaks......Page 35 2.9 Unordered Lists......Page 37 2.10 Nested and Ordered Lists......Page 38 2.11 Internet and World Wide Web Resources......Page 41 Introduction to HyperText Markup Language 4: Part II......Page 46 3.2 Basic HTML Tables......Page 47 3.3 Intermediate HTML Tables and Formatting......Page 50 3.4 Basic HTML Forms......Page 52 3.5 More Complex HTML Forms......Page 55 3.6 Internal Linking......Page 62 3.7 Creating and Using Image Maps......Page 64 3.8 Tags......Page 67 3.9 Element......Page 68 3.10 Nested......Page 70 3.11 Internet and World Wide Web Resources......Page 72 Cascading Style Sheets (CSS)......Page 79 4.2 Inline Styles......Page 80 4.3 Creating Style Sheets with the Element......Page 81 4.4 Conflicting Styles......Page 84 4.5 Linking External Style Sheets......Page 87 4.6 Positioning Elements......Page 89 4.7 Backgrounds......Page 92 4.8 Element Dimensions......Page 95 4.9 Text Flow and the Box Model......Page 97 Content......Page 99 4.10 User Style Sheets......Page 102 4.11 Internet and World Wide Web Resources......Page 105 Creating Markup with XML......Page 110 5.2 Introduction to XML Markup......Page 111 5.3 Parsers and Well- formed XML Documents......Page 112 5.4 Parsing an XML Document with msxml......Page 113 5.5 Characters......Page 114 5.6 Markup......Page 118 5.7 CDATA Sections......Page 122 5.8 XML Namespaces......Page 123 5.9 Case Study: A Day Planner Application......Page 126 5.10 Internet and World Wide Web Resources......Page 127 Document Type Definition (DTD)......Page 134 6.2 Parsers, Well- formed and Valid XML Documents......Page 135 6.3 Document Type Declaration......Page 136 6.4 Element Type Declarations......Page 137 6.5 Attribute Declarations......Page 145 6.6 Attribute Types......Page 147 6.7 Conditional Sections......Page 153 6.8 Whitespace Characters......Page 155 6.9 Case Study: Writing a DTD for the Day Planner Application......Page 158 6.10 Internet and World Wide Web Resources......Page 159 Schemas......Page 165 7.1 Introduction......Page 166 7.3 Microsoft XML Schema: Describing Elements......Page 167 7.4 Microsoft XML Schema: Describing Attributes......Page 174 7.5 Microsoft XML Schema: Data Types......Page 177 7.6 W3C XML Schema......Page 183 Planner Application......Page 185 7.8 Internet and World Wide Web Resources......Page 186 Document Object Model (DOM )......Page 192 8.1 Introduction......Page 193 8.3 DOM with JavaScript......Page 194 8.5 DOM Components......Page 199 8.6 Creating Nodes......Page 209 8.7 Traversing the DOM......Page 213 the DOM......Page 216 8.9 Internet and World Wide Web Resources......Page 227 Simple API for XML (SAX)......Page 232 9.2 DOM vs. SAX......Page 233 9.5 Events......Page 234 9.6 Example: Tree Diagram......Page 235 9.7 Case Study: Using SAX with the Day Planner Application......Page 245 9.8 SAX 2.0......Page 254 9.9 Internet and World Wide Web Resources......Page 258 Case Study: XmlMessenger Program......Page 263 10.1 Introduction......Page 264 10.2 Setup......Page 265 10.3 Overview: Server Side of XmlMessenger......Page 266 10.4 Implementation: Server Side of XmlMessenger......Page 267 10.5 Overview: Client Side of XmlMessenger......Page 277 10.6 Implementation: Client Side of XmlMessenger......Page 280 XML Path Language (XPath)......Page 297 11.2 Nodes......Page 298 11.3 Location Paths......Page 305 11.4 Node- set Operators and Functions......Page 310 11.5 Internet and World Wide Web Resources......Page 314 XSL: Extensible Stylesheet Language Transformations (XSLT)......Page 319 12.2 Setup......Page 320 12.3 Templates......Page 321 12.4 Creating Elements and Attributes......Page 322 12.5 Iteration and Sorting......Page 327 12.6 Conditional Processing......Page 331 12.7 Copying Nodes......Page 333 12.8 Combining Stylesheets......Page 335 12.9 Variables......Page 340 12.10 Case Study: XSLT and XPath......Page 341 12.11 Internet and World Wide Web Resources......Page 347 XSL: Extensible Stylesheet Language Formatting Objects......Page 353 13.1 Introduction......Page 354 13.3 Examples of XSL Formatting- object Documents......Page 355 13.4 Lists......Page 365 13.5 Internet and World Wide Web Resources......Page 368 XLink, XPointer, XInclude and XBase......Page 372 14.2 XML Linking Language (XLink)......Page 373 14.3 XLink and DTDs......Page 385 14.4 XML Pointer Language (XPointer)......Page 388 14.5 XML Inclusions (XInclude)......Page 389 14.6 XML Base (XBase)......Page 390 14.7 Internet and World Wide Web Resources......Page 391 Case Study: Message Forum with Active Server Pages......Page 395 15.2 Setup and Message Forum Documents......Page 396 15.3 Forum Navigation......Page 397 15.4 Adding Forums......Page 401 15.5 Forum XML Documents......Page 407 15.7 Other HTML Documents......Page 411 15.8 Internet and World Wide Web Resources......Page 416 Server- side Java Programming......Page 418 16.2 Cocoon......Page 419 16.3 Extensible Server Pages (XSP)......Page 423 16.4 Case Study: A Wireless Online Bookstore......Page 430 16.5 Jakarta Tomcat Setup......Page 433 16.6 WAP and WML: Client- side Documents......Page 434 16.7 Java Servlets......Page 438 16.8 Internet and World Wide Web Resources......Page 481 Perl and XML: A Web- based Message Forums Application......Page 484 17.3 Setup......Page 485 17.4 Displaying the Forums using XML:: Parser......Page 487 17.5 Using XML:: DOM to Add Forums and Messages......Page 490 17.6 Alterations for Non- XSL Browsers......Page 495 17.7 Internet and World Wide Web Resources......Page 501 Accessibility......Page 503 18.2 Providing Alternatives for Multimedia Content......Page 504 18.3 Maximizing Readability by Focusing on Structure......Page 507 18.4 Accessibility in HTML Tables......Page 508 18.6 Accessibility in XML......Page 512 18.7 Using Voice Synthesis and Recognition with VoiceXMLTM......Page 513 18.8 JAWS for Windows......Page 520 18.9 Other Accessibility Tools......Page 521 18.10 Internet and World Wide Web Resources......Page 522 XHTML and XForms......Page 527 19.2 XHTML......Page 528 19.3 XForms......Page 534 19.5 Internet and World Wide Web Resources......Page 535 Custom Markup Languages: Part I......Page 539 20.2 Mathematical Markup Language (MathML)......Page 540 20.4 Chemical Markup Language (CML)......Page 543 20.5 Wireless Markup Language (WML)......Page 548 20.6 Geography Markup Language (GML)......Page 551 20.7 Synchronized Multimedia Integration Language (SMIL)......Page 553 20.8 Scalable Vector Graphics (SVG)......Page 557 20.9 Bean Markup Language (BML)......Page 562 20.10 Extensible 3D Language (X3D)......Page 570 20.11 Additional Internet and World Wide Web Resources......Page 574 Custom Markup Languages: Part II......Page 581 21.2 Extensible Business Reporting Language (XBRL)......Page 582 21.4 Electronic Business XML (ebXML)......Page 586 21.6 Commerce XML (cXML)......Page 587 21.7 LegalXML......Page 592 21.8 NewsML......Page 593 21.9 Open eBook Publication Structure......Page 594 21.11 Internet and World Wide Web Resources......Page 595 XML Technologies and Applications......Page 601 22.1 Introduction......Page 602 22.3 Directory Services Markup Language (DSML)......Page 603 22.4 Resource Definition Framework (RDF)......Page 604 22.5 XML Topic Maps (XTM)......Page 608 22.7 Channel Definition Format (CDF)......Page 612 22.8 Information and Content Exchange (ICE) Protocol......Page 616 22.10 Platform for Privacy Preferences (P3P)......Page 617 22.11 Blocks Extensible Exchange Protocol (BXXP)......Page 618 22.13 Extensible Rights Markup Language (XrML)......Page 619 22.14 XML Metadata Interchange (XMI)......Page 620 22.16 XAML......Page 621 Simple Object Access Protocol (SOAP) and Microsoft BizTalkTM......Page 626 23.2 Simple Object Access Protocol (SOAP)......Page 627 23.3 Microsoft BizTalk......Page 633 23.4 Internet and World Wide Web Resources......Page 636 Bonus Chapter: Introduction to Scripting with VBScript......Page 640 24.2 Operators......Page 641 £......Page 642 24.3 Data Types and Control Structures......Page 643 24.4 VBScript Functions......Page 648 24.5 VBScript Example Programs......Page 651 24.6 Arrays......Page 659 24.7 String Manipulation......Page 663 24.8 Internet and World Wide Web Resources......Page 667 Bonus Chapter: Introduction to Active Server Pages (ASP)......Page 673 25.2 How Active Server Pages Work......Page 674 25.4 Using Personal Web Server and Internet Information Server......Page 676 25.5 Active Server Page Objects......Page 677 25.6 A Simple ASP Example......Page 678 25.7 Server- side ActiveX Components......Page 680 25.8 File System Objects......Page 685 25.9 Session Tracking and Cookies......Page 693 25.10 Databases, SQL, Microsoft UDA and ADO......Page 704 25.11 Accessing a Database from an Active Server Page......Page 709 25.12 Internet and World Wide Web Resources......Page 718 Bonus Chapter: Introduction to Perl Programming......Page 723 26.1 Introduction......Page 724 26.2 Perl......Page 725 26.3 String Processing and Regular Expressions......Page 730 26.4 Viewing Client/ Server Environment Variables......Page 735 26.5 Form Processing and Business Logic......Page 738 26.6 Server- Side Includes......Page 743 26.7 Verifying a Username and Password......Page 747 26.8 Using ODBC to Connect to a Database......Page 752 26.9 Cookies and Perl......Page 756 26.10 Internet and World Wide Web Resources......Page 761 Bonus Chapter: Introduction to Java 2 Programming......Page 766 Outline......Page 767 27.2 Java Keywords, Primitive Data Types and Class Libraries......Page 768 27.3 Command- Line Java Applications......Page 772 27.4 Arrays......Page 784 27.5 Class Vector......Page 791 27.6 Graphical User Interfaces: A Windowed Application with......Page 792 Classes......Page 799 27.8 Graphical User Interfaces: Miscellaneous Components......Page 808 27.9 Graphical User Interfaces: Layout Managers......Page 813 and Introducing Graphics......Page 819 27.11 Multithreading......Page 823 27.12 Networking with Sockets and Streams......Page 830 27.13 Enhancing a Web Server with Servlets......Page 842 27.14 Internet and World Wide Web Resources......Page 852 Characters......Page 863 This comprehensive guide to programming in XML teaches readers how to use XML to create customized tags and addresses standard custom markup languages for science and technology, multimedia, commerce, and other fields. Includes a concise introduction to Java, as well as cutting edge topics such as XQL, SMIL and VoiceXML as well as a real-world e-Commerce case study. Also includes a complete chapter on Web-accessibility that addresses VoiceXML. Provides hundreds of valuable programming tips. For XML programmers and Internet/Web programmers. Offers a careful explanation of XML-based systems development, for faculty, students, and professionals. Includes extensive pedagogic features, including Internet resources. The CD-ROM contains thousands of hyperlinks and other information. System requirements: Pentium 133 MHz+ processor, Windows 95+ or Linux 6.0+, CD-ROM drive and Internet access. Softcover.
this Comprehensive Guide To Programming In
Includes A Concise Introduction To Java, As Well As Cutting Edge Topics Such As Xql, Smil And Voice
For Xml Programmers And Internet/web Programmers.