- Preface
- 1. Who Should Read This Book?
- 2. Who Should Not Read This Book?
- 3. If You're Still Reading This...
- 4. About the Examples
- 5. Organization of This Book
- 6. Conventions Used in This Book
- 7. How to Contact Us
- 8. Acknowledgments
- 1. Introduction to Web Forms
- 1.1. The Past, Present, and Future of Web Forms
- 1.2. A Brief Review of HTML Forms
- 1.2.1. Single-Line Text Input
- 1.2.2. Multi-Line Text Input
- 1.2.3. Password Text Input
- 1.2.4. Submit and Reset
- 1.2.5. Buttons
- 1.2.6. Radio Buttons
- 1.2.7. Checkboxes
- 1.2.8. Single-Select Menus
- 1.2.9. Multiple-Select Menus
- 1.2.10. File Select
- 1.2.11. Hidden Controls
- 1.2.12. Object Controls
- 1.2.13. Labels and Legends
- 1.2.14. Access and Navigation
- 1.2.15. Readonly and Disabled
- 1.2.16. Initialization
- 1.2.17. Submit
- 1.3. Limitations of HTML Forms, Advantages of XForms
- 1.4. The History of XForms
- 1.5. The Revenge of the Simple Syntax
- 2. XForms Building Blocks
- 2.1. More Than Forms
- 2.2. A Real-World Example
- 2.3. Host Language Issues
- 2.3.1. Combined Document Types
- 2.4. Linking Attributes
- 3. XPath in XForms
- 3.1. Getting Up to Speed with XPath
- 3.2. Going Deep: The XPath Data Model
- 3.3. Location Paths
- 3.3.1. Context
- 3.3.2. Axes
- 3.3.3. Predicates
- 3.4. Computed Expressions
- 3.4.1. Operators
- 3.4.2. Functions
- 3.5. How XPath is Used in XForms
- 3.5.1. Context Nodes
- 3.5.2. Model Binding Expressions
- 3.5.3. UI Binding Expressions
- 3.5.4. Computations
- 4. XML Schema in XForms
- 4.1. Wide Open (Value) Spaces
- 4.1.1. Derivation
- 4.2. Useful Datatypes
- 4.3. Other Datatypes
- 4.4. An Email Datatype for XForms
- 4.4.1. Using the Email Datatype
- 4.5. Complex Types
- 4.6. xsi:type
- 5. The XForms Model
- 5.1. Will the Real Data Model Step Forward?
- 5.2. Structural Elements
- 5.3. Common Attributes
- 5.3.1. Binding Attributes—Single Node and Node-set
- 5.4. Model Item Properties
- 5.5. Making the Connection—Binding
- 5.5.1. With IDREFs
- 5.5.2. With XPath
- 5.5.3. Multiple Models
- 5.5.4. Multiple Instances
- 6. The XForms User Interface
- 6.1. Form Controls
- 6.1.1. input
- 6.1.2. secret
- 6.1.3. textarea
- 6.1.4. output
- 6.1.5. upload
- 6.1.6. range
- 6.1.7. trigger
- 6.1.8. submit
- 6.1.9. select1
- 6.1.10. select
- 6.1.11. Complex Lists
- 6.1.12. Common Markup
- 6.2. Interaction with Instance Data
- 6.2.1. Incremental
- 6.3. Grouping
- 6.4. Dynamic Presentation
- 6.4.1. switch and case
- 6.5. Repeating Line Items
- 6.5.1. repeat
- 6.5.2. Attribute Syntax
- 7. Actions and Events
- 7.1. XML Events
- 7.1.1. The Old Way
- 7.1.2. Listeners, Observers, and Handlers
- 7.1.3. Declarative Actions, Displacing Script
- 7.2. XForms Actions
- 7.3. XForms Events
- 7.3.1. Stages of XForms Processing
- 7.3.2. Useful Events
- 7.3.3. Less-Useful Events
- 7.3.4. Error Handling
- 8. Submit
- 8.1. When to Submit
- 8.2. What to Submit
- 8.3. Where and How to Submit
- 8.3.1. URI Scheme and Method
- 8.3.2. Serialization Formats for Data Submission
- 8.4. What Happens After Submit?
- 8.5. The submission Element
- 8.6. Review: Submission Options
- 8.7. Security and Privacy Concerns
- 9. Styling XForms
- 9.1. CSS, Level 3
- 9.1.1. The Appearance Property
- 9.1.2. Aligning Form Controls and Labels
- 9.1.3. Styling Invalid Form Controls
- 9.1.4. Styling Required Form Controls
- 9.1.5. Styling Alert Messages
- 9.1.6. Styling Repeating Items
- 9.1.7. Styling Non-Visible Items
- 10. Form Accessibility, Design, and Troubleshooting
- 10.1. Basics of Accessibility
- 10.1.1. W3C Accessibility Guidelines
- 10.2. Form Design Patterns
- 10.2.1. Stepwise XPath
- 10.2.2. Design by Buddy System
- 10.2.3. XML Localization
- 10.3. XForms-specific Design Hints
- 10.3.1. Always Include Keyboard Navigation Hints
- 10.3.2. Always Use P3P Datatypes
- 10.3.3. Don't Use a Form for Navigation
- 10.3.4. Concatenating a Currency Symbol or Special Character
- 10.3.5. Server-Side Database Lookups
- 10.3.6. Reliably Submitting the Form with Enter
- 10.3.7. Refresh-on-Demand
- 10.4. Troubleshooting
- 10.4.1. Stubborn Read-only Controls
- 10.4.2. Context Node Problems
- 10.4.3. XForms Portion of Document Not Recognized
- 10.4.4. Schema or Validation Errors
- 10.5. Making the Switch to XForms
- 10.5.1. Client-Side and Server-Side XForms
- 10.5.2. The Featherweight Client
- 10.5.3. The Scriptable Client
- 10.5.4. The Modern Browser Client
- 10.5.5. Client-Side Options
- 11. Extending XForms
- 11.1. The Cost of Extensibility
- 11.1.1. Extension and mustUnderstand
- 11.2. Ways to Extend
- 11.2.1. With Script
- 11.2.2. With New Datatypes and Libraries
- 11.2.3. With XPath Extension Functions
- 11.2.4. With New Form Controls
- 11.2.5. With XForms Actions
- 11.2.6. With Custom Events
- 11.2.7. With New Serialization Formats
- A. Examining Microsoft InfoPath
- A.1. How Does It Work?
- A.2. Similar, Different
- A.3. A Real-World Example
- A.4. Conclusion
- B. The GNU Free Documentation License
- B.1. GNU Free Documentation License
- B.2. 0. Preamble
- B.3. 1. APPLICABILITY AND DEFINITIONS
- B.4. 2. VERBATIM COPYING
- B.5. 3. COPYING IN QUANTITY
- B.6. 4. MODIFICATIONS
- B.7. 5. COMBINING DOCUMENTS
- B.8. 6. COLLECTIONS OF DOCUMENTS
- B.9. 7. AGGREGATION WITH INDEPENDENT WORKS
- B.10. 8. TRANSLATION
- B.11. 9. TERMINATION
- B.12. 10. FUTURE REVISIONS OF THIS LICENSE
- B.13. Addendum: How to use this License for your documents
- n
- Next Page
- p
- Previos Page
- h
- Book Home
- u
- Go Up One Level
- ?
- Press ? for Help
- esc
- Hide Help