- From: David Orchard <dorchard@bea.com>
- Date: Mon, 13 Feb 2006 11:13:26 -0800
- To: <public-xml-versioning@w3.org>
- Cc: "W3C TAG" <www-tag@w3.org>
- Message-ID: <E16EB59B8AEDF445B644617E3C1B3C9CAD0E0B@repbex01.amer.bea.com>
I enclose an updated terminology section and diagram for the TAG finding on ext/versioning. Your review is appreciated. Cheers, Dave 1.1 Terminology The terminology for describing languages, namespaces, constraints, evolvability etc. follows. Let us consider an example. Two systems need to exchange name information. Names may not be the perfect choice of example because of internationalization reasons, but it resonates strongly with a very large audience. The Name language exists to be exchanged. [Definition: A producer is an agent that creates an instance. ][Definition: A Production is the creation of an instance.]. A producer produces an instance for the intent of conveying information. [Definition: A consumer is an agent that consumes an instance.][Definition: A Consumption is the processing of an instance of a language.] A consumer is impacted by the instance that it consumes. That is, it interprets that instance and bases future processing, in part, on the information that it believes was present in that instance. An instance can be consumed many times, by many consumers, and have many different impacts. Generally, a language has a vocabulary that may use terms from one or more XML Namespaces (or none), each of which has a namespace name. Formally, [Definition: a language is an identifiable set of vocabulary terms with defined syntactic and semantic constraints. ] A vocabulary may or may not be related to an XML Namespace. By language, we just mean the set of elements and attributes, or components, used by a particular application. [Definition: A vocabulary is a set of terms]. The Name language consists of 3 terms: name, first, last. In order to identify the terms in the Name language, a namespace is assigned to the terms. We use the prefix "namens" to refer to that namespace. Other examples include the elements and attributes of XHTML 1.0 or the names of built-in functions in XPath 2.0. The Name language could consist of terms from other vocabularies, such as Dublin Core or UBL. These terms each have their own namespaces, illustrating that a language can comprise vocabularies from multiple namespaces. The name language takes the 3 terms and specifies the constraints: that a name consists of a first and a last. [Definition: A language has a set of constraints that apply to the vocabulary terms in the language. ] These constraints can be defined in machine processable syntactic constraint languages such as XML Schema, human readable textual descriptions such as HTML descriptions, or are embodied in software. Languages may or may not be defined by a schema in any particular schema language. The constraints on a language will govern the membership of instances in the language, which may be considered the set of strings that are in the language. In general, the intended meaning of a vocabulary term is scoped by the language in which the term is found. However, there is some expectation that terms drawn from an XML Namespace have a consistent meaning across all languages in which they are used. The namens terms might be used in other languages, but it is generally expected that they will still be "the same" in some meaningful sense. [Definition: An instance is a specific, discrete sequence of terms]. Given that there are constraints on a language, an instance may or may not have membership in a language. Indeed, an instance may be a member of many languages, and there may be many instances that are members of a given language. The instances of the language are the units of exchange. Documents are instances of a language. They must have a root element in XML. A name document might be a name element as the root element. Alternatively, the name vocabulary may be used by a language such as purchase orders. The purchase order documents may contain name elements. Thus instances of a language are always part of a document and may be the entire document. XML instances (and all other instances of markup languages) consist of markup and content. In the name example, the first and last elements including the end markers are the markup. The values between the start and end markers are the content. An instance has an information model. There are a variety of data models within and without the W3C, and the one standardized by the W3C is the XML infoset. A stylesheet processor is a consumer of the XML document that it is processing (the producer isn't mentioned); in the Web services context the roles of producer and consumer alternate as messages are passed back and forth.Note that most Web service specifications provide definitions of inputs and outputs. By our definitions, a Web service that updates its output schema is considered a new producer. A service that updates its input schema is a new consumer.
Attachments
- image/png attachment: ext-vers-uml.png
Received on Monday, 13 February 2006 19:13:36 UTC