[Home] [By Thread] [By Date] [Recent Entries]
Philippe Poulard writes: > Schema technologies were primarily designed to express constraints > on XML document classes. To add a bit more detail, the following is the text of the section of the Schema Recommendation that describes the purpose of a schema [1] "The purpose of XML Schema: Structures is to define the nature of XML schemas and their component parts, provide an inventory of XML markup constructs with which to represent schemas, and define the application of schemas to XML documents. The purpose of an XML Schema: Structures schema is to define and describe a class of XML documents by using schema components to constrain and document the meaning, usage and relationships of their constituent parts: datatypes, elements and their content and attributes and their values. Schemas may also provide for the specification of additional document information, such as normalization and defaulting of attribute and element values. Schemas have facilities for self-documentation. Thus, XML Schema: Structures can be used to define, describe and catalogue XML vocabularies for classes of XML documents. Any application that consumes well-formed XML can use the XML Schema: Structures formalism to express syntactic, structural and value constraints applicable to its document instances. The XML Schema: Structures formalism allows a useful level of constraint checking to be described and implemented for a wide spectrum of XML applications. However, the language defined by this specification does not attempt to provide all the facilities that might be needed by any application. Some applications may require constraint capabilities not expressible in this language, and so may need to perform their own additional validations." > Unfortunately, schema technologies are still trailing behind. (One > of) the missing feature(s) is the support of semantics data types. See those last two sentences in the "purpose" section. It's not at all clear to me that Schema structures is the right place to go after these semantic types, except insofar as the existing ability to define named types, and inheritance hierarchies in which both the intensional refinement of a type (I.e. it's base type chain) as well as its extensional refinement (a restriction allows no more than its base) matter. To make that last bit clearer, what I'm trying to say is, you can have two vacuous restrictions of integer, one named "employeeAge" and one named "partNumber". They both accept the same numbers, but you can't put xsi:type="partNumber" on an element that's expecting an "employeeAge". That's what I meant by intensional as well as extensional, and it takes you just a bit of the way toward semantic typing. Noah [1] http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/#intro-purpose -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 --------------------------------------
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



