WBMM> Posted PROTOTYPE Events XML Schema v0.10 (11 April 2004)

WBMM> Posted PROTOTYPE Events XML Schema v0.10 (11 April 2004)

McDonald, Ira imcdonald at sharplabs.com
Sun Apr 11 13:45:50 EDT 2004


Hi folks,                                         Sunday (11 April 2004)

[For use by Masanori Itoh (Ricoh) and Dave Hall (HP) in updating WSDL
files for PSI/1.0, as agreed at PWG Process telecon on 1 April 2004]

I have just posted a prototype Events XML Schema v0.10, which validates
without warnings using XML SPY 2004, XRay 2.0, and XSV 2.5 (the free XML
Schema Validator) and is posted at:

    ftp://ftp.pwg.org/pub/pwg/wbmm/schemas/events-20040411.xsd

This schema defines 8 event classes:

- VendorEvents - for vendor extensions, including new event classes
- SystemEvents - derived from PrinterEvents below
- ServiceEvents - derived from PrinterEvents below
- DeviceEvents - derived from PrinterEvents below
- PrinterEvents - derived from IPP System Admin, w/ PSI/IPPFAX additions
- JobEvents - derived from IPP System Admin, w/ PSI/IPPFAX additions
- DocumentEvents above - derived from JobEvents above
- ComponentEvents - derived from PrtAlertCodeTC in Printer MIB v2

The included extensions for use by PSI/1.0 are:
- PrinterStateOnlyChanged - ignores state reasons transitions
- JobStateOnlyChanged - ignores state reasons transitions
- DocumentStateOnlyChanged - ignores state reasons transitions

The included extensions for use by IPPFAX/1.0 are:
- JobError - see 'errors-count' in section 5.1.1 [PWG5100.7]
- JobWarning - see 'warnings-count' in section 5.1.4 [PWG5100.7]

Below are some excerpts.

Cheers,
- Ira 


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

------------------------------------------------------------------------
[excerpts from Events Schema]


<xsd:element name="NotifyEvents">
  <!-- union of event groups -->
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="VendorEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="SystemEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ServiceEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="DeviceEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="PrinterEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="JobEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="DocumentEvents"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ComponentEvents"
        minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<xsd:element name="PrinterEvents">
  <!-- OPTIONAL - MAY be multi-valued -->
  <!-- list of printer events -->
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="PrinterEvent" type="PrinterEventType"
        minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="VendorEvent" type="VendorEventType"
        minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<xsd:simpleType name="PrinterEventType">
  <!-- printer event type -->
  <!-- see [System|Service|Device]EventType above -->
  <!-- see notify-events - section 5.3.2 [IPP-NOT] -->
  <xsd:restriction base="xsd:NMTOKEN">

    <xsd:enumeration value="PrinterStateOnlyChanged"/>
    <!-- printer state only changed (ignores state reasons) -->
    <!-- see printer-state - section 4.4.11 [RFC2911] -->

    <xsd:enumeration value="PrinterStateChanged"/>
    <!-- printer state (or state reasons) changed -->
    <!-- see printer-state - section 4.4.11 [RFC2911] -->
    <!-- see printer-state-reasons - section 4.4.12 [RFC2911] -->
    <!-- see printer-is-accepting-jobs - section 4.4.23 [RFC2911] -->

    ...
  </xsd:restriction>
</xsd:simpleType>

<xsd:element name="JobEvents">
  <!-- OPTIONAL - MAY be multi-valued -->
  <!-- list of job events -->
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="JobEvent" type="JobEventType"
        minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="VendorEvent" type="VendorEventType"
        minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<xsd:simpleType name="JobEventType">
  <!-- job event type -->
  <!-- see notify-events - section 5.3.2 [IPP-NOT] -->
  <!-- see DocumentEventType below -->
  <xsd:restriction base="xsd:NMTOKEN">

    <xsd:enumeration value="JobStateOnlyChanged"/>
    <!-- job state only changed (ignores state reasons) -->
    <!-- see job-state - section 4.3.7 [RFC2911] -->
    <!-- see jmJobState in [RFC2707] -->

    <xsd:enumeration value="JobStateChanged"/>
    <!-- job state (or state reasons) changed -->
    <!-- see job-state - section 4.3.7 [RFC2911] -->
    <!-- see job-state-reasons - section 4.3.8 [RFC2911] -->
    <!-- see jmJobState in [RFC2707] -->
    <!-- see jmJobStateReasons1 in [RFC2707] -->

    <xsd:enumeration value="JobCreated"/>
    <!-- job state sub-event - created -->
    <!-- see JobStateChanged above -->
    <!-- see Print-Job - section 3.2.1 [RFC2911] -->
    <!-- see Print-URI - section 3.2.2 [RFC2911] -->
    <!-- see Create-Job - section 3.2.4 [RFC2911] -->

    ...
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ComponentEventType">
  <!-- component/subunit event type - Printer Model in [PRTMIBv2] -->
  <!-- see prtAlertCode in [RFC1759] and [PRTMIBv2] -->
  <!-- see PrtAlertCodeTC in IANA Printer TC MIB [PRTMIBv2] -->
  <!-- see Printer Model - section 2 [RFC1759] and [PRTMIBv2] -->
  <xsd:restriction base="xsd:NMTOKEN">

    <!-- general -->
    <xsd:enumeration value="GeneralCoverOpen"/>
    <xsd:enumeration value="GeneralCoverClosed"/>
    <xsd:enumeration value="GeneralInterlockOpen"/>
    <xsd:enumeration value="GeneralInterlockClosed"/>
    <xsd:enumeration value="GeneralConfigurationChange"/>
    <xsd:enumeration value="GeneralJam"/>
    <xsd:enumeration value="GeneralPowerUp"/>
    <xsd:enumeration value="GeneralPowerDown"/>
    <xsd:enumeration value="GeneralManagementReset"/>
    <xsd:enumeration value="GeneralManualReset"/>
    <xsd:enumeration value="GeneralReadyToProcess"/>

    <!-- subunit -->
    <xsd:enumeration value="SubunitMissing"/>
    <xsd:enumeration value="SubunitLifeAlmostOver"/>
    <xsd:enumeration value="SubunitLifeOver"/>
    <xsd:enumeration value="SubunitAlmostEmpty"/>
    <xsd:enumeration value="SubunitEmpty"/>

    ...
  </xsd:restriction>
</xsd:simpleType>



More information about the Wims mailing list