[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: W3C XML Schema: Component Designators
Has anyone seen this recent W3C Working Draft? It bears direct relation to the concepts of schema component-based assembly. More details: TITLE: "W3C XML Schema: Component Designators" (W3C Working Draft 9 March 2004) URL: http://www.w3.org/TR/xmlschema-ref/ MISSION: Defines a system for designating XML Schema components HIGHLIGHTS: - Lays out the inventory of schema components into three classes: (1) Primary components: simple and complex type definitions, attribute declarations, and element declarations (2) Secondary components: attribute and model group definitions, identity-constraint definitions, and notation declarations (3) "Helper" components: annotations, model groups, particles, wildcards, and attribute uses - There is a also master schema component, the "schema" component, that represents the schema as a whole. - There are also schema components for the facets defined in Part 2 of the W3C XML Schema recommendation [XSD2]: (1) Fundamental Facets: ordered, bounded, cardinality, numeric (2) Constraining Facets: whiteSpace, minInclusive, maxInclusive, minExclusive, maxExclusive, totalDigits, fractionDigits, length, minLength, maxLength, pattern, enumeration - It also presents a 3-layer model of schema component reference: Layer 1: Reference Core - defines reference to a schema component in the context of an assembled XML Schema Layer 2: Schema Assembly - assembling a schema from a collection of schema documents; one way is from some kind of package format defining the collection; Layer 3: Schema URI - defines conventions for obtaining a single URI to refer to a collection of schema documents forming a schema (leverages XPointer) - It also defines the syntax for a "schema component path" whose steps are each of the following form: /[schema component kind]([ns-prefix:[name]])[[predicate]] - So one may reference, for example, a single element within a schema as: /element(prefix:name)[n] or /prefix:name[n], where the [n] will be absent if the {scope} of the element declaration is global and may be absent if the value of n is 1. MY TAKE: - So I believe that one can develop a single "master schema" that acts as a template for the construction of other schemas, through the declaration of schema component paths that designate the schema construct that one wishes to "extract" (so to speak) from the master schema in creating a new schema. -This would be an alternative to storing and maintaining these components in a registry (note deliberate use of term "component). Thoughts? -- Kind Regards, Joseph Chiusano Associate Booz | Allen | Hamilton
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]