XML Schema for OSM-X documents. Author: Alan Wessman, Brigham Young University. Copyright 2003, Brigham Young University. http://www.deg.byu.edu NOTE: References herein to the old DTD on which this schema was originally based should be deleted when the code transition to the new schema is complete. Also, please note that capitalization of elements and attributes has been standardized. Elements are initially capitalized and attributes are initially lower-case. The annotation below is for JAXB processing. The ExtendedBoolean datatype is intended to support the 'Y'/'N' encoding of Boolean values from osm.dtd, while allowing use of the xs:boolean values - true, false, 0 (zero), and 1 (one). This annotation allows JAXB to process the ExtendedBoolean datatype correctly. The ColorValue datatype is an encoding of an opaque color. This annotation allows JAXB to process the ColorValue datatype correctly. The CountingConstraint datatype encompasses any integer greater than or equal to zero, plus the value '*' meaning an unbounded constraint. It can be used for cardinality and participation constraints. The GenSpecConstraint datatype is any of the following values, with no case-sensitivity: UNION MUTEX PARTITION INTERSECTION NONE The RealTimeConstraintType datatype is any of the following values, with no case-sensitivity: TRANSITION (was NORMAL in DTD) TRIGGER ACTION The ConnectionSide datatype is any of the following values, with no case-sensitivity: Y (=Yes) N (=No) M (=??) The MatchStatus datatype is any of the following values, with no case-sensitivity: PROPOSED ACCEPTED REJECTED Declared globally as it is used by many elements. The attribute pertains to the element's z-axis ordering in a graphical editor. Declared globally as it is used by many elements. If true, centered indicates that the name of the element is centered on the element in a graphical editor. These attributes are used by several elements, so they are declared globally. This is declared as an attribute group so that if there is a need to add or remove attributes to/from all OSM component elements, it can be done in one spot. This attribute group modularizes those attributes used for graphical positioning of model elements. This attribute group modularizes those attributes used for graphical positioning of 2-dimensional model elements. A ModelElement is any component of an OSM model that may need to be connected to or referenced by any other OSM component. A DataFrameExpression is an enhanced regular expression that may contain lexicon or macro references. A TypeSpecification defines a representation for data. It is either a reference to an object set, or a pair of values indicating (1) the datatype, and (2) the units of measurement (if applicable) for the data. Example: an appropriate representation for distance data might be datatype = java:java.lang.double and units = meters. This group lists all elements that may independently appear in a model or a high-level model element. This group lists all elements that may independently appear in a data instance or a SourceDocument. The "Style" element, which is used by graphical tools. From osm.dtd: ]]> The "Line" element, which is used by graphical tools. From osm.dtd: ]]> The "Font" element, which is used by graphical tools. From osm.dtd: ]]> From osm.dtd: ]]> -- constrain to singleton -- SWL From osm.dtd: ]]> The word 'Macro' is used in the sense of a C++ macro substitution (using the #define construct), not in the office-productivity tools sense of a memorized sequence of tool commands. Thus a macro simply gives a name to a commonly used regular expression, so that the macro may be referenced inline with a larger expression instead of duplicating the defining expression. NOTE: The 'Body' attribute has been eliminated; the body of the macro is now contained in the content of the element. From osm.dtd: ]]> Reference to an object set defined elsewhere. Not in original DTD. General definition of a data type. Not in original DTD. Contains a list of 'ValuePhrase' elements. Note: Renamed 'Label' attribute to 'Hint'. From osm.dtd: ]]> Contains a list of 'KeywordPhrase' elements. Note that this has been renamed from 'ContextPhrase' in the legacy version. Also, the 'Label' attribute has been renamed to 'Hint'. From osm.dtd: ]]> Contains a list of 'Method' elements. Not in original osm.dtd. Not in original osm.dtd. Not in original osm.dtd. Records information about the source for data in a data instance. From osm.dtd: ]]> From osm.dtd: ]]> NOTE: Added 'id' attribute to allow Relationships to bind Objects to Connections. If attribute is not present, its value is implied by the order of the Connections in the RelationshipSet. The ID should be made explicit when writing the document to permanent storage. Not in original osm.dtd. From osm.dtd: ]]> NOTE: While the OSM specification allows multiple names (aliases), for practical purposes we will restrict ourselves to one name. Not in original osm.dtd. From osm.dtd: ]]> NOTE: The 'id' element is no longer required and the 'value' attribute and 'location' attribute have been added. If the 'id' attribute is present, the Object is considered to be nonlexical; otherwise, the 'value' attribute supplies the lexical identity for the Object. The 'location' attribute is used to record the source of the lexical value within a source document, but is not required information. This annotation changes the name of the JAXB-generated class to something that will not collide with the ubiquitous java.lang.Object class. From osm.dtd: ]]> Not in original osm.dtd. From osm.dtd: ]]> From osm.dtd: ]]> From osm.dtd: ]]> From osm.dtd: ]]> 'RTC' stands for 'Real-Time Constraint'. From osm.dtd: ]]> NOTE: The default value for the 'type' attribute is now 'TRANSITION' in accordance with the change in the set of allowed values. From osm.dtd: ]]> NOTE: The 'Identifier' element is much like a name but is intended to be more of a short identifier ('a', 'b', etc.) rather than a meaningful name. From osm.dtd: ]]> NOTE: An empty Condition marks the subsequent-state conjunction as exceptional. That is, it declares the conjunction as an exception. It is semantics-free. Not in original osm.dtd. Not in original osm.dtd. From osm.dtd: ]]> NOTE: 'FileName' has been renamed to 'uri' and 'Separators' to 'delimiters'. Does not appear in 'osm.dtd.' This element is a member of a RelationshipSet. The RelationshipSet is implied and has cardinality of one if the Relationship does not explicitly refer to an actual RelationshipSet as its containing set. Together with the Object element, a Relationship allows a data instance to be created and stored for OSM. Not in original osm.dtd. Does not appear in 'osm.dtd.' This element is used to store a data instance that purports to adhere to the constraints of the model instance represented by the OSM element. A separate validation effort may be required to verify this before making use of the data. The root element of the schema. From osm.dtd: ]]>