|
1 | | -# MessageFormat 2.0 Data Model |
| 1 | +# Interchange Data Model |
2 | 2 |
|
3 | 3 | This section defines a data model representation of MessageFormat 2 _messages_. |
4 | 4 |
|
@@ -33,26 +33,14 @@ This data model might also be used to: |
33 | 33 |
|
34 | 34 | To ensure compatibility across all platforms, |
35 | 35 | this interchange data model is defined here using TypeScript notation. |
36 | | -Two equivalent definitions of the data model are also provided: |
37 | | - |
38 | | -- [`message.json`](./message.json) is a JSON Schema definition, |
39 | | - for use with message data encoded as JSON or compatible formats, such as YAML. |
40 | | -- [`message.dtd`](./message.dtd) is a document type definition (DTD), |
41 | | - for use with message data encoded as XML. |
| 36 | +An equivalent JSON Schema definition [`message.json`](./message.json) is also provided, |
| 37 | +for use with message data encoded as JSON or compatible formats, such as YAML. |
42 | 38 |
|
43 | 39 | Note that while the data model description below is the canonical one, |
44 | | -the JSON and DTD definitions are intended for interchange between systems and processors. |
45 | | -To that end, they relax some aspects of the data model, such as allowing |
| 40 | +the JSON Schema definition is intended for interchange between systems and processors. |
| 41 | +To that end, it relaxes some aspects of the data model, such as allowing |
46 | 42 | declarations, options, and attributes to be optional rather than required properties. |
47 | 43 |
|
48 | | -> [!NOTE] |
49 | | -> Users relying on XML representations of messages should note that |
50 | | -> XML 1.0 does not allow for the representation of all C0 control characters (U+0000-U+001F). |
51 | | -> Except for U+0000 NULL , these characters are allowed in MessageFormat 2 messages, |
52 | | -> so systems and users relying on this XML representation for interchange |
53 | | -> might need to supply an alternate escape mechanism to support messages |
54 | | -> that contain these characters. |
55 | | -
|
56 | 44 | > [!IMPORTANT] |
57 | 45 | > The data model uses the field name `name` to denote various interface identifiers. |
58 | 46 | > In the MessageFormat 2 [syntax](/spec/syntax.md), the source for these `name` fields |
|
0 commit comments