MOS-X - (Media Object Server - XML). Draft 0.2, Jan 1999, Extract.
Example
<?xml version="1.0"?>
<!DOCTYPE mos SYSTEM "mos.dtd">
<mos mos-id="bnz300.newscenter.com" ncs-id="avidnews_a.newcenter.com">
<ro-item-replace>
<ro ro-id="96857485">SHOW.5P.RUNDOWN</ro>
<item>
<story.id>4D47340C:0031AD0B:DEB24200</story.id>
<item.id>0</item.id>
<item.slug>WX ROUNDUP</item.slug>
<obj.id>M000242</obj.id>
</item>
<item>
<story.id>4883A5D1:0049B724:8360EA20</story.id>
<item.id>0</item.id>
<item.slug>BROOKINGS FLOOD:SOT</item.slug>
<obj.id>M000226</obj.id>
</item>
</ro-item-replace>
</mos>
MOS-X DTD
<!-- MOS.DTD version 0.1 -->
<!-- MOS Messages - One message type per message -->
<!ELEMENT mos (mos-obj | ack-obj | req-all-obj | ro-create | ro-replace | ro-delete | ro-item-delete | ro-item-insert | ro-item-append | ro-item-replace | ro-item-swap | ro-story-delete | ro-story-insert | ro-story-replace | ro-story-swap | ro-req-crc | ro-crc | ro-item-stat | ro-status | ro-ready-to-air | ack-ro | ro-req | ro-list | heartbeat | req-mach-info | list-mach-info | ack-gen)>
<!-- Object Message -->
<!ELEMENT mos-obj (obj)> <!-- Object information -->
<!ELEMENT ack-obj (obj.id, obj.slug?, obj.rev, status, error?)> <!-- Acknowledge Object -->
<!ELEMENT req-all-obj EMPTY)> <!-- Request all Objects -->
<!-- Running Order Messages -->
<!ELEMENT ro-create (ro, item*)> <!-- Create RO -->
<!ELEMENT ro-replace (ro, item*)> <!-- Replace RO -->
<!ELEMENT ro-delete (ro)> <!-- Delete RO -->
<!ELEMENT ro-item-delete (ro, item+)> <!-- Delete RO Items -->
<!ELEMENT ro-item-insert (ro, item, item+)> <!-- Insert RO Items -->
<!ELEMENT ro-item-append (ro, item+)> <!-- Append RO Items -->
<!ELEMENT ro-item-replace (ro, item, item+)> <!-- Replace RO Item -->
<!ELEMENT ro-item-swap (ro, item, item)> <!-- Swap RO Items -->
<!ELEMENT ro-story-delete (ro, story.id+)> <!-- Delete RO Stories -->
<!ELEMENT ro-story-insert (ro, story.id, item+)> <!-- Insert RO Stories -->
<!ELEMENT ro-story-replace (ro, story.id, item+)> <!-- Replace RO Stories -->
<!ELEMENT ro-story-swap (ro, story.id, story.id)> <!-- Swap RO Stories -->
<!ELEMENT ack-ro (ro, status, item-error*)> <!-- Acknowlege RO -->
<!ELEMENT ro-req-crc (ro)> <!-- Request RO CRC -->
<!ELEMENT ro-crc (ro, crc)> <!-- RO CRC -->
<!ELEMENT ro-item-stat (ro, item, play-status, time?)> <!-- RO Item Status -->
<!ELEMENT ro-status (ro, play-status, time?)> <!-- RO Status -->
<!ELEMENT ro-ready-to-air (ro, ro.air)> <!-- RO Air Ready Status -->
<!ELEMENT ro-req (ro)> <!-- Request RO -->
<!ELEMENT ro-list (ro, item+)> <!-- List RO -->
<!-- Other Messages-->
<!ELEMENT heartbeat (time?)> <!-- Heartbeat - I'm alive -->
<!ELEMENT req-mach-info EMPTY> <!-- Request Machine Information -->
<!ELEMENT list-mach-info (mach, time?)> <!-- List Machine Information -->
<!ELEMENT ack-gen (status, error?)> <!-- General ACK/NACK Response -->
<!-- Media Object -->
<!ELEMENT obj (obj.id, obj.slug, obj.type, obj.tb, obj.rev, obj.dur, obj.ed-start?, obj.ed-dur?, obj.status, obj.air, obj.created-by, obj.created, obj.changed-by, obj.changed, obj.metadata)>
<!-- Media Object Elements -->
<!ELEMENT obj.id (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT obj.slug (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT obj.type (#PCDATA)> <!-- STILL | AUDIO | VIDEO -->
<!ELEMENT obj.tb (#PCDATA)> <!-- 0xFFFFFFFF max -->
<!ELEMENT obj.rev (#PCDATA)> <!-- 1 - 999 -->
<!ELEMENT obj.dur (#PCDATA)> <!-- 0xFFFFFFFF max -->
<!ELEMENT obj.ed-start (#PCDATA)> <!-- 0xFFFFFFFF max -->
<!ELEMENT obj.ed-dur (#PCDATA)> <!-- 0xFFFFFFFF max -->
<!ELEMENT obj.status (#PCDATA)> <!-- NEW | UPDATED | MOVED | BUSY | DELETED -->
<!ELEMENT obj.air (#PCDATA)> <!-- READY | NOT READY -->
<!ELEMENT obj.created-by (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT obj.created (#PCDATA)> <!-- YYYY-MM-DDThh:mm:ss -->
<!ELEMENT obj.changed-by (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT obj.changed (#PCDATA)> <!-- YYYY-MM-DDThh:mm:ss -->
<!ELEMENT obj.metadata (p*)> <!-- unlimited length -->
<!ELEMENT obj.trigger (#PCDATA)> <!-- MANUAL | TIMED | CHAINED -->
<!ELEMENT obj.macro-in (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT obj.macro-out (#PCDATA)> <!-- 128 characters max -->
<!-- Running Order Elements -->
<!ELEMENT ro (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT ro.air (#PCDATA)> <!-- READY | NOT READY -->
<!-- Story Item elements defined for RO messages -->
<!ELEMENT item (story.id, item.id, item.slug?, obj.id, obj.ed-start?, obj.ed-dur?, obj.trigger?, obj.macro-in?, obj.macro-out?)>
<!ELEMENT item-error (item, error)>
<!-- Story/Item Elements -->
<!ELEMENT story.id (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT item.id (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT item.slug (#PCDATA)> <!-- 128 characters max -->
<!-- Machine Info -->
<!ELEMENT mach (mach.id, mach.manufac, mach.model?, mach.hw-rev?, mach.sw-rev?, mach.dom?, mach.sn?, mach.up-time?, mach.mos-rev)>
<!-- Machine Info Elements -->
<!ELEMENT mach.manufac (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT mach.model (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT mach.hw-rev (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT mach.sw-rev (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT mach.dom (#PCDATA)> <!-- YYYY-MM-DDThh:mm:ss -->
<!ELEMENT mach.sn (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT mach.id (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT mach.up-time (#PCDATA)> <!-- YYYY-MM-DDThh:mm:ss -->
<!ELEMENT mach.mos-rev (#PCDATA)> <!-- 128 characters max -->
<!-- Metadata Text Elements -->
<!ELEMENT p (#PCDATA | em | tab )*> <!-- paragraph -->
<!ELEMENT em (#PCDATA)> <!-- emphasized text -->
<!ELEMENT tab EMPTY> <!-- horizontal tab -->
<!-- Miscellaneous Elements -->
<!ELEMENT crc (#PCDATA)> <!-- 0xFFFFFFFF max -->
<!ELEMENT error (#PCDATA)> <!-- 128 characters max -->
<!ELEMENT status (#PCDATA)> <!-- ACK | NACK -->
<!ELEMENT play-status (#PCDATA)> <!-- READY | PLAY | STOP | NOT READY | NCS CTRL | MANUAL CTRL -->
<!ELEMENT time (#PCDATA)> <!-- YYYY-MM-DDThh:mm:ss -->
<!-- Attributes -->
<!ATTLIST mos
mos-id CDATA #REQUIRED
ncs-id CDATA #REQUIRED>
<!ATTLIST obj.metadata xml:space (default | preserve) 'preserve'>
<!ATTLIST ro ro-id CDATA #REQUIRED> <!-- 128 characters max -->
<!-- CHANGE HISTORY
-->
[Note: See the main section, MOS-X (Media Object Server - XML).]