[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: [xtm-wg] XTM Processing Model - alternative proposal
XTM PROCESSING MODEL Alternative strawman proposal 1. Purpose and scope of the model =================================== The purpose of this model is to provide a better foundation for interoperability between different topic map processors by formally specifying the requirements placed on such processors. The first step in doing so is to formally and precisely articulate the abstract model of topic maps that is implicit in the ISO 13250 standard and also the XTM 1.0 specification in a way that does not constrain implementors more than strictly necessary. Important operations like building topic maps from XTM 1.0 documents and ISO 13250 documents and merging topic maps are then described in terms of this underlying abstract model. Throughout this document text in {} is comments to the reader, and not part of the document proper. This document is NOT complete; it is just a sketch intended to show one possible approach to specifying the XTM processing model, believed by the author to be preferrable to the current approach. In particular, this document has NO OFFICIAL STANDING WHATSOEVER. It is, as stated above, just a sketch. 2. The abstract structure of topic maps ========================================= The abstract model for topic maps here presented is inspired by the XML Infoset, and uses a similar system of information items with named and typed properties. This approach has been chosen in order to avoid the problem inherent in any formalism: that the formalism must first be learned. Note that in the terminology used in this document, sets are collections of unordered items that contain no duplicates. 2.1. The topic map information item ------------------------------------- A topic map information set has exactly one topic map information item, which is the hub item of the information set, from which all other parts can be reached. This item represents the entire topic map. The topic map information item has the following properties: [base uri]: This is the base URI of the <topicMap> element of the topic map document that gave rise to the topic map information set, as determined by the rules of the XML Information Set. (This implies that it may be null.) If the topic map information set did not originate with a topic map document, a base URI may be assigned to it by implementation-specific means. [topics]: This is a set of topic information items. [associations]: This is a set of association information items. 2.2 Topic information items ----------------------------- A topic information item represents a single topic in a topic map, and this topic should be the only one representing its subject. Topic map processors are required to ensure that more than one topic with the same subject, according to the rules given below, are never present in the same topic map. {Add URI-based duplicate constraints.} Topic information items have the following properties: [source uris]: This is a set of URIs, being the URIs of the <topic> elements of the topic map document that gave rise to the topic information item. This set of URIs may be empty; it may also contain URIs assigned to the topic information item by means not described by this specification. [base names]: This is a set of base name information items. [occurrences]: This is a set of occurrence information items. [roles]: This is a set of association role information items. [subject indicators]: This is a set of URIs referring to the subject indicators of the topic. [subject address]: This a URI referring to the resource that is the subject of this topic. The property may be null. 2.3 Base name information items -------------------------------- A base name information item represents a topic name with its scope and tree of variant names. [FIXME: Add the topic naming constraint.] Base name information items have the following properties: [source uris]: This is a set of URIs, being the URIs of the <baseName> elements of the topic map document that gave rise to the base name information item. This set of URIs may be empty; it may also contain URIs assigned to the base name information item by means not described by this specification. [value]: This is the string that is the base name. It may be empty, but it may not be null. [scope]: This is the set of topic information items that constitute the scope of this base name. [variants]: This is a set of variant information items representing the variant names of this base name. 2.4 Variant information items ------------------------------ A variant information item represents a variant of a base name as it appears in the variant tree of that base name. The properties of variant information items are: [source uris]: This is a set of URIs, being the URIs of the <variant> elements of the topic map document that gave rise to the variant information item. This set of URIs may be empty; it may also contain URIs assigned to the variant information item by means not described by this specification. [value]: This is the string that is the variant name. It can be empty. The value can also be null, provided that the [resource] property is not null. If it is not null the [resource] property must be null. [resource]: This is the URI of the resource which is this variant name. It can be null if the [value] property is not null, and it must be null if the [value] property is not null. [scope]: This is the set of topic information items that constitute the scope of this variant name. [variants]: This is a set of variant information items representing the variant names of this variant name. 2.5 Occurrence information items --------------------------------- An occurrence information item represents the occurrence relationship between a topic and a resource that is an occurrence of information about the subject of that topic. The properties of occurrence information items are: [source uris]: This is a set of URIs, being the URIs of the <occurrence> elements of the topic map document that gave rise to the occurrence information item. This set of URIs may be empty; it may also contain URIs assigned to the occurrence information item by means not described by this specification. [value]: This is the string that is the occurrence resource. It can be empty. The value can also be null, provided that the [resource] property is not null. If it is not null the [resource] property must be null. [resource]: This is the URI of the resource which is the occurrence of information about the topic's subject. It can be null if the [value] property is not null, and it must be null if the [value] property is not null. [scope]: This is the set of topic information items that constitute the scope of this occurrence. --- {This should make it clear what style of exposition is wanted.} 3. Building the structure from XTM documents ============================================== This section describes how to build a topic map information set from an XTM document. If the procedure here described is followed, the result will always be a consistent topic map information set. The description is given in terms of what impact each XML element in the XTM document has on its context. The initial context is nothing. 3.1 The <topicMap> element ---------------------------- For each <topicMap> element in the XTM document a new, separate, topic map information set is created. This information set is added to the context and remains there as long as the children of the <topicMap> element are processed. The [base URI] property of the <topicMap> XML information set item is set as the [base URI] value of the created topic map information item. The values of the [topics] and [associations] properties are initially empty. 3.2 The <topic> element ------------------------- For each <topic> element in the XTM document a new topic information item is created and added to the context as the current topic information item. The URI of the <topic> element is added to the set of [source uris] on the topic information item. The children of the <topic> element are then processed, with the topic information item in the context. Once all the children of the element have been processed the topic information item is merged into the topic map information set currently in the context according to the rules of section 5.X. 3.3 The <baseName> element ---------------------------- For each <baseName> element in the XTM document a new base name information item is created and added to the context as the current base name information item. The URI of the <baseName> element is added to the set of [source uris] on the base name information item. {Describe processing of children.} --- {Again, this should probably be enough to discern the full flavour of what would have followed if this were complete.} 4. Building the structure from ISO 13250 documents ==================================================== {This should probably be done the same way as the XTM bit, but much shorter, since ISO 13250 is much simpler. HOWEVER, the HyTime bits may make this difficult.} 5. Merging topic maps ======================= {This must describe, exhaustively and precisely, the rules for merging two topic map information sets.} 5.X. Merging a topic into a topic map --------------------------------------- {Must describe how, given a certain context, one topic is merged into a topic map.} 6. Conformance ================ An XTM processor is conformant with this specification provided that it: 1. Make available to applications all the information described in section 2. More information may well be provided, but nothing may be left out. 2. Can build structures representing topic map information sets from XTM documents in a way that produces identical result to those described in section 3. 3. If it can build structures from ISO 13250 topic map documents, it must do so according to the rules in section 4. 4. If it can merge topic map structures it must do so according to the rules of section 5. --Lars M. ------------------------ Yahoo! Groups Sponsor ---------------------~-~> We give away $70,000 a month! Come to iWin.com for your chance to win! http://us.click.yahoo.com/olMXHC/BJVCAA/4ihDAA/2n6YlB/TM ---------------------------------------------------------------------_-> To Post a message, send it to: xtm-wg@eGroups.com To Unsubscribe, send a blank message to: xtm-wg-unsubscribe@eGroups.com Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC