Cover image for Essential XUL programming
Essential XUL programming
Bullard, Vaughn.
Personal Author:
Publication Information:
New York : Wiley, [2001]

Physical Description:
xiii, 418 pages : illustrations ; 24 cm
Format :


Call Number
Material Type
Home Location
Item Holds
QA76.76.H94 B84 2001 Adult Non-Fiction Central Closed Stacks

On Order



A revolutionary new technology for the rapidly expanding world of e-commerce, XUL (XML User Interface Language) is an XML-based user interface language that gives Web developers control over all aspects of the
Web interface. Featuring two tutorials on programming with XUL, this book shows developers how to use basic XUL elements to build a sample interface for an e-commerce site, then goes on to explore more sophisticated applications by creating an information portal inside an application. Readers will find expert tips and advice on how to get started writing XUL code as well as how to extend it into Java and other non-Netscape interfaces.

Author Notes

VAUGHN BULLARD is a senior principal software engineer with BTG Inc., where he is the Java/XML/UML evangelist and instructor for the Defense and Intelligence Systems Division. He currently teaches and develops curricula for software development technologies including XML, Java, and UML for Learning Tree International.

KEVIN T. SMITH is a senior principal software engineer at BTG, Inc., where he specializes in Java, XML, and Internet security solutions for a wide variety of customers. He has taught courses in computer science, and gives technical presentations at multiple organizations and conferences.

MICHAEL C. DACONTA is Director of Web and Technology Services for McDonald Bradley, Inc., where he conducts training seminars and develops advanced systems with Java, JavaScript, and XML. He is a Sun-certified Java programmer and coauthor of Java Pitfalls, Java 2 and JavaScript for C and C++ Programmers, and C++ Pointers and Dynamic Memory Management (all from Wiley).

Table of Contents

Introductionp. vii
Acknowledgmentsp. xi
About the Authorsp. xiii
Chapter 1 What Is XUL?p. 1
The Origins of XULp. 3
Leveraged Technologies in XULp. 4
Types of XUL User Interface Widgetsp. 9
XUL Featuresp. 11
Implementing XULp. 15
Summaryp. 18
Notesp. 18
Chapter 2 An XML Primerp. 19
XML Syntaxp. 21
Creating a Document Type Definitionp. 27
Constructing a XUL DTDp. 33
Creating a Schemap. 36
The Document Object Modelp. 44
Summaryp. 48
Chapter 3 Using Cascading Style Sheetsp. 49
A Simple CSS Examplep. 50
CSS Fundamentalsp. 53
Using CSS with XULp. 76
Summaryp. 77
Notesp. 78
Chapter 4 Building a Simple XUL Interfacep. 81
Building a XUL Applicationp. 82
Complete Code for xulexample.xulp. 98
Complete Code for eventhandlers.jsp. 105
Summaryp. 106
Chapter 5 Creating Netscape Themesp. 107
Gathering Your Toolsp. 108
Downloading a Templatep. 108
Developing Your Netscape Themep. 112
Summaryp. 130
Chapter 6 RDF and XUL Templatesp. 133
The RDF Model and Syntaxp. 134
Building and Using XUL Templatesp. 143
Summaryp. 163
Notesp. 164
Chapter 7 XUL Overlays and XBLp. 167
Using XUL Overlaysp. 168
Using XML Binding Language (XBL)p. 174
Summaryp. 207
Notesp. 207
Chapter 8 The jXUL Open Source Projectp. 209
Why jXUL?p. 209
The jXUL Architecturep. 210
jXUL Componentsp. 212
jXUL Packagesp. 227
Getting Involved in the jXUL Projectp. 228
Challenges for the jXUL Projectp. 228
Summaryp. 229
Chapter 9 Case Study: Creating a Customizable Browser Portalp. 231
Defining the Problemp. 232
Approaching the Solutionp. 232
Under the Hood: An In-Depth Look at Netscape's "My Sidebar"p. 232
Customizing My Sidebar for the Case Studyp. 248
Summaryp. 252
Chapter 10 Case Study: Building an E-Commerce User Interface with XULp. 257
Defining the Problemp. 257
Analyzing the Requirementsp. 258
Designing the User Interfacep. 259
Building the User Interfacep. 263
Creating and Populating the User Interfacep. 269
Navigating the Finished Productp. 284
Main XUL Interface Filep. 285
JavaScript Event Handling Filep. 290
Overlay Filesp. 293
Summaryp. 296
Appendix A XUL Programmer's Referencep. 297
Appendix B Netscape Theme Referencep. 343
Referencesp. 409
Indexp. 411