<interleave>
indicates that the constructs referenced by its children occur in any order (i.e. are interleaved)
Module tagdocsDEFCON
Attributes
Global and inherited attributes:
Classes and content
- Member of
- May contain
- Contained by
Note
If an ODD file makes use of this element, current processing software will not be able to generate a DTD from it. For this reason TEI P5 itself does not currently make use of interleave internally.
Example
<content>
<interleave>
<elementRef key="persName"/>
<alternate minOccurs="0">
<elementRef key="placeName"/>
<elementRef key="location"/>
</alternate>
<elementRef key="note" minOccurs="0"/>
</interleave>
</content>
This example describes a content model that consists of a mandatory persName element, zero or one of either placeName or location, and an optional note element, in any order.
To express this content model in a DTD, the original schema language for XML, one might use
( persName
| ( persName, note )
| ( persName, ( placeName | location ) )
| ( note, persName )
| ( ( placeName | location ), persName )
| ( persName, note, ( placeName | location ) )
| ( persName, ( placeName | location ), note )
| ( note, persName, ( placeName | location ) )
| ( note, ( placeName | location ), persName )
| ( ( placeName | location ), note, persName )
| ( ( placeName | location ), persName, note )
)
Schematron
<constraintSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" ident="interleavechilden" scheme="schematron" xml:lang="en">
<constraint>
<sch:rule context="tei:interleave">
<sch:assert test="count(*) gt 1">The <interleave> element must have at least two child elements.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>Content model
<content>
<classRef key="model.contentPart" minOccurs="1" maxOccurs="unbounded"/>
</content>