This topic describes isomorphic and nonisomorphic
simple mapping.
The single-service project tools support both isomorphic simple
mappings and nonisomorphic simple mappings in both request mappings
and response mappings.
Isomorphic and nonisomorphic mapping
A mapping is isomorphic if both the following
conditions are met: - Each composed element (that is, an element that contains
other elements) of the XML instance document starting from the root
has one and only one corresponding high-level-language
data item (a COBOL group item or a PL/I item) whose nesting depth
is identical to the nesting depth of its XML equivalent; and
Each non-composed element (in other words, an element
that does not contain other elements) in the XML instance document
starting from the top has one and only one corresponding high-level-language data item (a COBOL elementary item
or a PL/I elementary item) whose nesting depth is identical to
the nesting level of its XML equivalent and whose memory address at
run time can be uniquely identified.
A mapping is
nonisomorphic if it
does
not meet the conditions stated above.Note: Note that an isomorphic
mapping can exist between isomorphic subsets of otherwise nonisomorphic
structures.
For examples of isomorphic and nonisomorphic
mapping see XML to COBOL mapping reference.
Isomorphic and nonisomorphic simple
mapping
An
isomorphic simple mapping is a simple mapping in which
an XML element and its corresponding high-level-language
data item (COBOL or PL/I) have the following characteristics:
- Their parent structures (an XML document and
a COBOL group or a PL/I item) are identical in shape (isomorphic).
- Their locations within their parent structures are
the same.
A nonisomorphic simple mapping is a simple
mapping in which an XML element and its corresponding high-level-language
data item (COBOL or PL/I) are not identical in shape (nonisomorphic).