MOS-X - (Media Object Server - XML). Examples from the 0.2 Draft Version.


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).]