XML Schema for OSM-X documents.
Author: Alan Wessman, Brigham Young University.
Copyright 2003, Brigham Young University.
https://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:
]]>