This class is the abstract generalisation of classes whose instances are used to model data that has internal structure defined
outside of the scope of the LRA. Encapsulated data includes binary objects such as word processed documents and multimedia
data as well as plain and marked-up text intended for human interpretation or machine processing outside the scope of the
LRA.
| Name |
Data type |
Occurs |
Description |
|
charset
|
CharacterSet
|
0..1 |
in ISO 21090 this is defined as the charset of the encapsulation of data and not of the data itself. Data that can define
its own charset (such as binary encoded XML for example) may do so. This attribute should not be interpreted as the charset
of the canonical form of the data, which will be derived from its canonical content based on the underlying media type. This
attribute is implemented as described in ISO 21090
|
|
compression
|
Compression
|
0..1 |
This is implemented as described in ISO 21090. |
|
data
|
Binary
|
0..1 |
This is implemented as described in ISO 21090. |
|
description
|
ST
|
0..1 |
Is optional in the LRA. It is implemented within ISO 21090 as an American disability act requirement and MAY be undefined
within the LRA. Logic within the LRA MUST NOT depend on the value of description.
|
|
integrityCheck
|
Binary
|
0..1 |
This is implemented as described in ISO 21090. |
|
integrityCheckAlgorithm
|
IntegrityCheckAlgorithm
|
0..1 |
This is implemented as described in ISO 21090. |
|
language
|
LraHumanLanguage
|
0..1 |
This is implemented as described in ISO 21090. |
|
mediaType
|
MediaType
|
0..1 |
This is implemented as described in ISO 21090. |
|
reference
|
TEL.URL
|
0..1 |
This is implemented as described in ISO 21090. |
|
thumbnail
|
ED
|
0..1 |
Is deprecated in the LRA. It is optional within ISO 21090 and MUST be undefined within the LRA. Logic within the LRA MUST
NOT depend on the value of thumbnail.
|
|
translation
|
ED
|
1..1 |
This attribute is deprecated in the LRA. It is optional within ISO 21090 and MUST be undefined within the LRA. Logic within
the LRA MUST NOT depend on the value of translation.
|
|
value
|
String
|
0..1 |
This is implemented as described in ISO 21090. |
|
xml
|
XML
|
0..1 |
In the instance of primary XML (or XHTML) data the ED representation is an encapsulated encoding of the XML, which may have
a different character set to the original. The actual canonical data xml may be rendered inline in the ED.xml, but might not.
If not, then the canonical representation may have to be derived to obtain the actual uncompressed xml. This is implemented
as described in ISO 21090
|
| Type |
Name |
Specification |
| compression only on binary |
Invariant |
inv: compression.oclIsDefined implies data.oclIsDefined |
| content is required if not null |
Invariant |
inv: isNotNull implies hasValue |
| integrityCheckAlgorithm required |
Invariant |
inv: integrityCheck.oclIsDefined implies integrityCheckAlgorithm.oclIsDefined |
| mediaType cannot be null |
Invariant |
inv: isNotNull implies mediaType.oclIsDefined |
| no charset for value or xml |
Invariant |
inv: (value.oclIsDefined or xml.oclIsDefined) implies charset.oclIsUndefined |
| no charset if null |
Invariant |
inv: isNull implies charset.oclIsUndefined |
| no compression if null |
Invariant |
inv: isNull implies compression.oclIsUndefined |
| no data if null |
Invariant |
inv: isNull implies data.oclIsUndefined |
| No History or Update Mode |
Invariant |
inv: noUpdateOrHistory(reference) and noUpdateOrHistory(thumbnail) |
| no integrityCheck if null |
Invariant |
inv: isNull implies integrityCheck.oclIsUndefined |
| no integrityCheckAlgorithm if null |
Invariant |
inv: isNull implies integrityCheckAlgorithm.oclIsUndefined |
| no language if null |
Invariant |
inv: isNull implies language.oclIsUndefined |
| no mediaType if null |
Invariant |
inv: isNull implies mediaType.oclIsUndefined |
| no nested translations |
Invariant |
inv: translation->forAll(t | t.translation->isEmpty)
-- nullFlavor invariants
|
| no reference if null |
Invariant |
inv: isNull implies reference.oclIsUndefined |
| no thumbnail if null |
Invariant |
inv: isNull implies thumbnail.oclIsUndefined |
| no thumbnail in LRA |
LRA Invariant |
inv: thumbnail.oclIsUndefined |
| no translation if null |
Invariant |
inv: isNull implies translation->isEmpty |
| no translations in the LRA |
LRA Invariant |
inv: translation->isEmpty |
| no value if null |
Invariant |
inv: isNull implies value.oclIsUndefined |
| no xml if null |
Invariant |
inv: isNull implies xml.oclIsUndefined |
| only one of value, data, xml |
Invariant |
inv: value.oclIsDefined implies (data.oclIsUndefined and xml.oclIsUndefined) and data.oclIsDefined implies (value.oclIsUndefined
and xml.oclIsUndefined) and xml.oclIsDefined implies (value.oclIsUndefined and data.oclIsUndefined)
|
| pdf not ED.Doc in LRA |
LRA Invariant |
inv: mediaType = "application/pdf" implies flavourID.oclIsUndefined |
| thumbnails do not have thumbnails |
Invariant |
inv: thumbnail.isNotNull implies thumbnail.thumbnail.oclIsUndefined |
| thumbnails do not use reference |
Invariant |
inv: thumbnail.isNotNull implies not thumbnail.hasReference |
| unnamed constraint |
Invariant |
def: hasValue : Boolean = value.oclIsDefined or data.oclIsDefined or xml.oclIsDefined or hasReference |
| value implies mediaType is text/plain |
Invariant |
inv: value.oclIsDefined implies mediaType = 'text/plain' |