MEF Output Formats
You can specify the MATRIXX Event File (MEF) output format as either element XML or compact MDC (CMDC). Use the print_data_container_file.py utility to change the output format.
Element XML
Element XML represents each field as an XML element.
Element XML
The following code is an example of a MEF in Element XML format.
<!-- MATRIXX Event File generated on Tue Apr 30 04:33:52 2019 UTC -->
<MtxEventCollection>
<EventList>
<MtxPurchaseEvent>
<OfferInfoArray>
<MtxPurchaseEventOfferInfo>
<PreActiveState>0</PreActiveState>
<CatalogItemId>200003</CatalogItemId>
<CatalogItemTemplateAttr>
<MtxTemplateAttr/>
</CatalogItemTemplateAttr>
<OfferId>200003</OfferId>
<OfferVersion>0</OfferVersion>
<ResourceId>1</ResourceId>
<StartTime>1-01-01T00:00:00.000000Z</StartTime>
<EndTime>65535-12-31T23:59:59.999999Z</EndTime>
</MtxPurchaseEventOfferInfo>
</OfferInfoArray>
<EventTypeArray>
<value>4</value>
</EventTypeArray>
<InitiatorId>0:2:5:932</InitiatorId>
<InitiatorExternalId>188</InitiatorExternalId>
<Flags>0</Flags>
<WalletId>0:2:5:933</WalletId>
<WalletOwnerId>0:2:5:932</WalletOwnerId>
<WalletOwnerExternalId>188</WalletOwnerExternalId>
<EventTime>2009-12-01T00:00:00.000000Z</EventTime>
<EventId>DRG0:2:52:2373</EventId>
<DeleteCode>2</DeleteCode>
</MtxPurchaseEvent>
<MtxPurchaseEvent>
<OfferInfoArray>
<MtxPurchaseEventOfferInfo>
<PreActiveState>0</PreActiveState>
<CatalogItemId>200100</CatalogItemId>
<CatalogItemTemplateAttr>
<MtxTemplateAttr/>
</CatalogItemTemplateAttr>
<OfferId>200100</OfferId>
<OfferVersion>0</OfferVersion>
<ResourceId>2</ResourceId>
<StartTime>1-01-01T00:00:00.000000Z</StartTime>
<EndTime>65535-12-31T23:59:59.999999Z</EndTime>
</MtxPurchaseEventOfferInfo>
</OfferInfoArray>
<EventTypeArray>
<value>4</value>
</EventTypeArray>
<InitiatorId>0:2:5:932</InitiatorId>
<InitiatorExternalId>188</InitiatorExternalId>
<Flags>0</Flags>
<WalletId>0:2:5:933</WalletId>
<WalletOwnerId>0:2:5:932</WalletOwnerId>
<WalletOwnerExternalId>188</WalletOwnerExternalId>
<EventTime>2009-12-01T00:00:00.000000Z</EventTime>
<EventId>DRG0:2:52:2378</EventId>
<DeleteCode>2</DeleteCode></MtxPurchaseEvent><MtxPurchaseEvent>
<OfferInfoArray>
<MtxPurchaseEventOfferInfo>
<PreActiveState>0</PreActiveState>
<CatalogItemId>200001</CatalogItemId>
<CatalogItemTemplateAttr>
<MtxTemplateAttr/>
</CatalogItemTemplateAttr>
<OfferId>200001</OfferId>
<OfferVersion>0</OfferVersion>
<ResourceId>1</ResourceId>
<StartTime>1-01-01T00:00:00.000000Z</StartTime>
<EndTime>65535-12-31T23:59:59.999999Z</EndTime>
</MtxPurchaseEventOfferInfo>
</OfferInfoArray>
<EventTypeArray>
<value>4</value>
</EventTypeArray>
<InitiatorId>0:2:5:937</InitiatorId>
<InitiatorExternalId>189</InitiatorExternalId>
<Flags>0</Flags>
<WalletId>0:2:5:938</WalletId>
<WalletOwnerId>0:2:5:937</WalletOwnerId>
<WalletOwnerExternalId>189</WalletOwnerExternalId>
<EventTime>2009-12-01T00:00:00.000000Z</EventTime>
<EventId>DRG0:2:52:2374</EventId>
<DeleteCode>2</DeleteCode></MtxPurchaseEvent>
...
</EventList>
</MtxEventCollection>
<!-- Total Event Count: 1000 -->
Compact MDC
Field | Description |
---|---|
< | Indicates the start of a DataContainer header. This specifies the type of DataContainer that follows. |
> | Indicates the end of a DataContainer header. |
[ | Indicates the start of a DataContainer or a Struct. |
] | Indicates the end of a DataContainer or a Struct. |
, | Used as a field separator. |
{ | Indicates the start of a list or an array. |
} | Indicates the end of a list or an array. |
# | Lines that start with a # are ignored. |
,, | Indicates that this field is 'not present'. |
In addition, leading spaces and lines that are blank or empty are ignored.
The DataContainer
header consists of six
fields (for example, <1,3,0,417,4520,1
>). Each field is
separated by a comma.
A base container follows the sub-container. The entire sub-container is specified ending with a ']'. The base container then follows the ']' character. This is done serially, not nested.
Hex characters that are not printable are represented as "\xx" where xx is the hex value of the character. For example, a hex 0x01 is represented as \01.
Compact MDC
The following code is an example of a MEF in compact MDC format.
# MATRIXX Event File generated on Thu Mar 7
23:42:04 2019 UTC <1,0,1,715,5100,1>[]<1,9,0,626,5100,1>[{14}]
<1,23,0,208,5100,1>[0:2:5:3320,(3:665),,,0,0:2:5:3321,0:2:5:3320,(3:665),,,,,,2009-12-01T00:00:00.000000Z,,(14:DRG0:2:52:1329),,,,,2]
<1,0,1,715,5100,1>[]<1,9,0,626,5100,1>[{14}]
<1,23,0,208,5100,1>[,,0:2:5:3323,,0,,,,,,,,,2009-12-01T00:00:00.000000Z,,(14:DRG0:2:52:1330),,,,,2]
<1,0,1,715,5100,1>[]<1,9,0,626,5100,1>[{14}]
<1,23,0,208,5100,1>[,,0:2:5:3328,,0,,,,,,,,,2009-12-01T00:00:00.000000Z,,(14:DRG0:2:52:1332),,,,,2]...
<1,0,1,715,5100,1>[]<1,9,0,626,5100,1>[{14}]
<1,23,0,208,5100,1>[,,0:2:5:4996,,0,,,,,,,,,2009-12-01T00:00:00.000000Z,,(14:DRG0:2:52:1999),,,,,2]
<1,0,1,715,5100,1>[]<1,9,0,626,5100,1>[{14}]
<1,23,0,208,5100,1>[0:2:5:4998,(4:1000),,,0,0:2:5:4999,0:2:5:4998,(4:1000),,,,,,2009-12-01T00:00:00.000000Z,,(14:DRG0:2:52:2000),,,,,2]
...
# Total Event Count: 673
For information about configuring the MEF output format, see the discussion about MEF publication configuration in MATRIXX Configuration.