WBMM> Posted - Schedule XML Schema v0.30 (27 Oct 2003)

WBMM> Posted - Schedule XML Schema v0.30 (27 Oct 2003)

WBMM> Posted - Schedule XML Schema v0.30 (27 Oct 2003)

McDonald, Ira imcdonald at sharplabs.com
Mon Oct 27 18:35:41 EST 2003

Hi folks,                                           Monday (27 Oct 2003)

[for review at this week's WBMM telecon]

In response to NYC face-to-face review comments, I revised my prototype
Schedule XML Schema.

The Schedule XML Schema v0.30 validates without warnings using XML SPY
2004 and XSV 2.5 (the free XML Schema Validator) and is posted at:


Below are: (a) change log; (b) use models; (c) defined actions; and
(d) excerpted definitions of 'Schedule' and 'Plan' (row in schedule).

- Ira McDonald

Ira McDonald (Musician / Software Architect)
Blue Roof Music / High North Inc
PO Box 221  Grand Marais, MI  49839
phone: +1-906-494-2434
email: imcdonald at sharplabs.com

[changes from v0.20 to v0.30]

(1) Major rewrite of schema to introduce element groups, per NYC
    - 'Schedule' now contains metadata and a sequence of 'Plan'
    - 'Plan' now contains 'PlanStatus', 'PlanDescription', 'PlanAction',
      and 'PlanTimetable' element groups
(2) Major rewrite of actions to support 'PlanAction' group (a choice
    between actions, each w/ fully specified parameters), per NYC;
(3) Added 'ActionPauseMode' (after page, document, or job), to capture
    IPP Admin Operations semantics;
(4) Added 'ActionRestartMode' (current cold, current warm, previous
    cold, or factory cold) to capture Printer MIB 'prtGeneralReset'
(5) Added 'PurgeElements' and 'PurgeResources' operations, to remove
    unwanted elements or resource objects;
(6) Defined simple 'Subcribe' action containing only 'TargetURIs',
    'Parameters' (only used for vendor extensions), 'NotifyURIs',
    'NotifyEvents', and 'NotifyElements', per Bill Wagner's request for
    lightweight subscriptions.

[use models]

Use Model 1 (Passive - Required):

A WBMM managed device (or service) creates an HTTP connection (OUTBOUND
across the enterprise network's firewall) to a WBMM management station.
The WBMM managed device (or service) immediately sends a Get-Schedule
request (packaged in a SOAP/1.1 envelope).  The WBMM management station
sends a Get-Schedule response containing an XML Schedule object (a list
of scheduled operations and times/intervals).

Later, as each scheduled operation is performed, the WBMM managed device
(or service) may create another HTTP connection to the WBMM management
station and send Send-Report (normal) and/or Send-Alert (exception)
requests, as needed.

Use Model 2 (Active - Optional):

A WBMM management station sends an Execute (or SetSchedule) request
(containing a Schedule object) directly to a WBMM managed device (or
service), for example, by sending a SOAP/1.1 request over email (SMTP).

Later, each scheduled operation is performed by the WBMM managed device
(as described in Use Model 1 above).

[defined actions]

None - no operation
Other - vendor extension with parameter named 'Action'
Restart - reset to same, previous, or factory configuration
Shutdown - stop instance of service/device entirely
Startup - start new instance of service/device
Subscribe - for notifications
Wakeup - wakeup service/device, which then performs Get-Schedule

[excerpted definition of 'Plan' (row in a schedule)]

<xsd:element name="Plan">
  <!-- Plan - one planned action -->
  <!-- see individual element descriptions for their cardinality -->
  <!-- and REQUIRED versus OPTIONAL presence in a plan -->
  <!-- see schedEntry - section 4 [RFC3231] -->
      <xsd:element ref="PlanStatus"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="PlanDescription"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="PlanAction"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="PlanTimetable"
        minOccurs="1" maxOccurs="1"/>

[excerpted definition of 'Schedule' (top-level object)]

<xsd:element name="Schedule">
  <!-- Schedule - schedule metadata and set of planned actions -->
  <!-- see schedTable - section 4 [RFC3231] -->
      <xsd:element ref="ScheduleState"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ScheduleInfo"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ScheduleSourceURI"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ScheduleTriggerCount"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ScheduleFailureCount"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="Plan"
        minOccurs="0" maxOccurs="unbounded"/>

More information about the Wims mailing list