reklama - zainteresowany?

RELAX NG - Helion

RELAX NG
ebook
Autor: Eric van der Vlist
ISBN: 978-14-493-1540-5
stron: 508, Format: ebook
Data wydania: 2003-12-15
Księgarnia: Helion

Cena książki: 118,15 zł (poprzednio: 128,42 zł)
Oszczędzasz: 8% (-10,27 zł)

Dodaj do koszyka RELAX NG

Tagi: Programowanie

As developers know, the beauty of XML is that it is extensible, even to the point that you can invent new elements and attributes as you write XML documents. Then, however, you need to define your changes so that applications will be able to make sense of them and this is where XML schema languages come into play. RELAX NG (pronounced relaxing), the Regular Language Description for XML Core--New Generation is quickly gaining momentum as an alternative to other schema languages. Designed to solve a variety of common problems raised in the creation and sharing of XML vocabularies, RELAX NG is less complex than The W3C's XML Schema Recommendation and much more powerful and flexible than DTDs.RELAX NG is a grammar-based schema language that's both easy to learn for schema creators and easy to implement for software developers In RELAX NG, developers are introduced to this unique language and will learn a no-nonsense method for creating XML schemas. This book offers a clear-cut explanation of RELAX NG that enables intermediate and advanced XML developers to focus on XML document structures and content rather than battle the intricacies of yet another convoluted standard.RELAX NG covers the following topics in depth:

  • Introduction to RELAX NG
  • Building RELAX NG schemas using XML syntax
  • Building RELAX NG schemas using compact syntax, an alternative non-XML syntax
  • Flattening schemas to limit depth and provide reusability
  • Using external datatype libraries with RELAX NG
  • W3C XML Schema regular expressions
  • Writing extensible schemas
  • Annotating schemas
  • Generating schemas form different sources
  • Determinism and datatype assignment
and much more.If you're looking for a schema language that's easy to use and won't leave you in a labyrinth of obscure limitations, RELAX NG is the language you should be using. And only O'Reilly's RELAX NG gives you the straightforward information and everything else you'll need to take advantage of this powerful and intelligible language.

Dodaj do koszyka RELAX NG

 

Osoby które kupowały "RELAX NG", wybierały także:

  • Zen Steve'a Jobsa
  • ASP.NET MVC. Kompletny przewodnik dla programistów interaktywnych aplikacji internetowych w Visual Studio
  • jQuery, jQuery UI oraz jQuery Mobile. Receptury
  • Scratch. Komiksowa przygoda z programowaniem
  • Baltie. Kurs video. Poziom pierwszy. Elementarz programowania w jÄ™zyku wizualnym

Dodaj do koszyka RELAX NG

Spis treści

RELAX NG eBook -- spis treści

  • RELAX NG
  • A Note Regarding Supplemental Files
  • Foreword by James Clark
  • Foreword by Murata Makoto
  • Preface
    • Who Should Read This Book?
    • Who Shouldnt Read This Book?
    • Organization of This Book
    • Conventions Used in This Book
    • Comments and Questions
    • Powered by WikiML
    • Acknowledgments
  • I. Tutorial
    • 1. What RELAX NG Offers
      • Diversity
      • Keeping Documents Independent of Applications
      • Validation Has Many Aspects
      • The Best Way to Validate XML Document Structures
      • RELAX NGs Diverse Applications
      • RELAX NG as a Pivot Format
      • Why Use Other Schema Languages?
    • 2. Simple Foundations Are Beautiful
      • Documents and Infosets
      • Different Types of Schema Languages
      • A Simple Example
      • A Strong Mathematical Background
      • Patterns, and Only Patterns
    • 3. First Schema
      • Getting Started
      • First Patterns
        • The text Pattern
        • The attribute Pattern
        • The element Pattern
        • The optional Pattern
        • The oneOrMore Pattern
        • The zeroOrMore Pattern
      • Complete Schema
        • Constraining Number of Occurrences
        • Creating Russian Doll Schemas
    • 4. Introducing the Compact Syntax
      • First Compact Patterns
        • The text Pattern
        • The attribute Pattern
        • Element
        • The optional Pattern
        • The oneOrMore Pattern
        • The zeroOrMore Pattern
      • Full Schema
      • XML or Compact?
    • 5. Flattening the First Schema
      • Defining Named Patterns
      • Referencing Named Patterns
      • The grammar and start Elements
      • Assembling the Parts
      • Problems That Never Arise
      • Recursive Models
      • Escaping Named Pattern Identifiers in the Compact Syntax
    • 6. More Complex Patterns
      • The group Pattern
      • The interleave Pattern
      • The choice Pattern
      • Pattern Compositions
      • Order Variation as a Source of Information
      • Text and Empty Patterns, Whitespace, and Mixed Content
      • Why Is It Called interleave?
      • Mixed Content Models with Order
      • A Restriction Related to interleave
      • A Missing Pattern: Unordered Group
    • 7. Constraining Text Values
      • Fixed Values
      • Co-Occurrence Constraints
      • Enumerations
      • Whitespace and RELAX NG Native Datatypes
      • Using String Datatypes in Attribute Values
      • When to Use String Datatypes
      • Using Different Types in Each Value
      • Exclusions
      • Lists
      • Data Versus Text
    • 8. Datatype Libraries
      • W3C XML Schema Type Library
        • The Datatypes
          • String datatypes
          • URIs
          • Qualified names
          • Binary string-encoded datatypes
          • Numeric datatypes
          • Date and time formats
          • Examples
        • Facets
      • DTD Compatibility Datatypes
      • Which Library Should Be Used?
        • Native Types Versus W3C XML Schema Datatypes
        • DTD Versus W3C XML Schema Datatypes
    • 9. Using Regular Expressions to Specify Simple Datatypes
      • A Swiss Army Knife
      • The Simplest Possible Pattern Facets
      • Quantifying
      • More Atoms
        • Special Characters
        • Wildcard
        • Character Classes
          • Classical Perl character classes
          • Unicode character classes
          • User-defined character classes
        • Or-ing and Grouping
      • Common Patterns
        • String Datatypes
          • Unicode blocks
          • Counting words
          • URIs
        • Numeric and Float Types
          • Leading zeros
          • Fixed format
        • Datetimes
          • Time zones
    • 10. Creating Building Blocks
      • Using External References
        • With Russian Doll Schemas
        • With Flat Schemas
        • Embedding Grammars
        • Referencing Patterns in Parent Grammars
      • Merging Grammars
        • Merging Without Redefinition
        • Merging and Replacing Definitions
        • Combining Definitions
          • Combining by choice
          • Combining by interleave
        • Why Cant Definitions Be Defined by Group?
      • A Real-World Example: XHTML 2.0
      • Other Options
        • A Possible Use Case
        • XML Tools
        • Text Tools
    • 11. Namespaces
      • A Ten-Minute Guide to XML Namespaces
      • The Two Challenges of Namespaces
      • Declaring Namespaces in Schemas
        • Using the Default Namespace
        • Using Prefixes
      • Accepting Foreign Namespaces
        • Constructing a Wildcard
        • Using Wildcards
        • Where Should Foreign Nodes Be Allowed?
        • Traps to Avoid
        • Adding Foreign Nodes Through Combination
      • Namespaces, Building Blocks, and Chameleon Design
        • Reexamining XHTML 2.0
        • Putting a Chameleon in the Library
        • Good Chameleon or Evil Chameleon?
    • 12. Writing Extensible Schemas
      • Extensible Schemas
        • Working from a Fixed Result
          • Providing a grammar and a start element
          • Maximize granularity
          • Defining named patterns for content rather than for elements
        • Free Formats
          • Be cautious with attributes
          • Use order sparingly
          • Use containers
        • Restricting Existing Schemas
      • The Case for Open Schemas
        • More Name Classes
      • Extensible and Open?
    • 13. Annotating Schemas
      • Common Principles for Annotating RELAX NG Schemas
        • Annotation Using the XML Syntax
        • Annotations Using the Compact Syntax
          • Grammar annotations
          • Initial annotations
          • Following annotations
          • Assembling the annotation syntax
          • When initial annotations turn into following annotations
        • Annotating Groups of Definitions
        • Alternatives and Workarounds
          • Why reinvent XML 1.0 comments and PIs?
          • Annotation of value and param patterns
      • Documentation
        • Comments
        • RELAX NG DTD Compatibility Comments
        • XHTML Annotations
        • DocBook Annotations
        • Dublin Core Annotations
        • SVG Annotations
        • RDDL Annotations
      • Annotation for Applications
        • Annotations for Preprocessing
        • Annotations for Conversion
          • Annotations to generate DTDs
          • Annotations to generate W3C XML Schema
          • Schema Adjunct Framework
        • Annotations for Extension
          • Embedded Schematron rules
          • XVIF
    • 14. Generating RELAX NG Schemas
      • Examplotron: Instance Documents as Schemas
        • Ten-Minute Guide to Examplotron
        • Use Cases
      • Literate Programming
        • Out of the Box
        • Adding Bells and Whistles for RDDL
      • UML
      • Spreadsheets
    • 15. Simplification and Restrictions
      • Simplification
        • Annotation Removal, Whitespace and Attribute Normalization, and Inheritance
        • Retrieval of External Schemas
        • Name Class Normalization
        • Pattern Normalization
        • First Set of Constraints
        • Grammar Merge
        • Schema Flattening
        • Final Cleanup
      • Restrictions
        • Constraints on Attributes
          • Bad example: attribute content model
          • Bad example: attribute duplication
          • Bad example: name class overlap
        • Constraints on Lists
          • Bad example: list and interleave
        • Constraints on Except Patterns
        • Constraints on Start Patterns
        • Constraints on Content Models
        • Limitations on interleave
          • Bad example: more than one text pattern in interleave
    • 16. Determinism and Datatype Assignment
      • What Is Ambiguity?
        • Ambiguity Versus Determinism
        • Different Kinds of Ambiguity
          • Regular expression ambiguities
          • Ambiguous regular hedge grammars
          • Name class ambiguity
          • Ambiguous datatypes
      • The Downsides of Ambiguous and Nondeterministic Content Models
        • Instance Annotations
        • Compatibility with W3C XML Schema
      • Some Ideas to Make Disambiguation Easier
        • Generalizing the Except Pattern
        • Making Disambiguation Rules Explicit
        • Accepting Ambiguity
  • II. Reference
    • 17. Element Reference
      • Elements
        • anyName
        • attribute
        • choice (in the context of a name-class)
        • choice (in the context of a pattern)
        • data
        • define
        • div (in the context of a grammar-content)
        • div (in the context of a include-content)
        • element
        • empty
        • except (in the context of a except-name-class)
        • except (in the context of a pattern)
        • externalRef
        • grammar
        • group
        • include
        • interleave
        • list
        • mixed
        • name
        • notAllowed
        • nsName
        • oneOrMore
        • optional
        • param
        • parentRef
        • ref
        • start
        • text
        • value
        • zeroOrMore
    • 18. Compact Syntax Reference
      • EBNF Production Reference
        • "...""
        • ...
        • ''...'''
        • ...
        • (nameClass)
        • (pattern)
        • *-nameClass
        • -nameClass
        • -pattern
        • CName
        • QuotedIdentifier
        • Top level
        • assignMethod
        • attribute
        • datatypeName
        • datatypeName literal
        • datatypeName param exceptPattern
        • datatypes
        • decl
        • default namespace
        • div
        • element
        • empty
        • external
        • grammar
        • grammarContent
        • identifier
        • identifier assignMethod pattern
        • identifierOrKeyword
        • include
        • includeContent
        • inherit
        • keyword
        • list
        • literal
        • literalSegment
        • mixed
        • name
        • nameClass
        • nameClass|nameClass
        • namespace
        • namespaceURILiteral
        • notAllowed
        • nsName exceptNameClass
        • param
        • parent
        • pattern
        • pattern&pattern
        • pattern*
        • pattern+
        • pattern,pattern
        • pattern?
        • pattern|pattern
        • start
        • text
    • 19. Datatype Reference
      • xsd:anyURI
      • xsd:base64Binary
      • xsd:boolean
      • xsd:byte
      • xsd:date
      • xsd:dateTime
      • xsd:decimal
      • xsd:double
      • xsd:duration
      • xsd:ENTITIES
      • xsd:ENTITY
      • xsd:float
      • xsd:gDay
      • xsd:gMonth
      • xsd:gMonthDay
      • xsd:gYear
      • xsd:gYearMonth
      • xsd:hexBinary
      • xsd:ID
      • xsd:IDREF
      • xsd:IDREFS
      • xsd:int
      • xsd:integer
      • xsd:language
      • xsd:long
      • xsd:Name
      • xsd:NCName
      • xsd:negativeInteger
      • xsd:NMTOKEN
      • xsd:NMTOKENS
      • xsd:nonNegativeInteger
      • xsd:nonPositiveInteger
      • xsd:normalizedString
      • xsd:NOTATION
      • xsd:positiveInteger
      • xsd:QName
      • xsd:short
      • xsd:string
      • xsd:time
      • xsd:token
      • xsd:unsignedByte
      • xsd:unsignedInt
      • xsd:unsignedLong
      • xsd:unsignedShort
  • III. Appendixes
    • A. DSDL
      • A Multipart Standard
        • Part 1: Overview
        • Part 2: Regular Grammar-Based Validation
        • Part 3: Rule-Based Validation
        • Part 4: Selection of Validation Candidates
        • Part 5: Datatypes
        • Part 6: Path-Based Integrity Constraints
        • Part 7: Character Repertoire Validation
        • Part 8: Declarative Document Architectures
        • Part 9: Namespace- and Datatype-Aware DTDs
        • Part 10: Validation Management
      • What DSDL Should Bring You
    • B. The GNU Free Documentation License
      • GNU Free Documentation License
      • 0. Preamble
      • 1. APPLICABILITY AND DEFINITIONS
      • 2. VERBATIM COPYING
      • 3. COPYING IN QUANTITY
      • 4. MODIFICATIONS
      • 5. COMBINING DOCUMENTS
      • 6. COLLECTIONS OF DOCUMENTS
      • 7. AGGREGATION WITH INDEPENDENT WORKS
      • 8. TRANSLATION
      • 9. TERMINATION
      • 10. FUTURE REVISIONS OF THIS LICENSE
      • Addendum: How to use this License for your documents
  • Glossary
  • Index
  • About the Author
  • Colophon
  • Copyright

Dodaj do koszyka RELAX NG

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.