Printer Services Mail Archive: PS> Posted PROTOTYPE Events X

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

From: McDonald, Ira (imcdonald@sharplabs.com)
Date: Sun Apr 11 2004 - 13:45:50 EDT

  • Next message: dhall@hp.com: "PS> ^_^ mew-mew (-:"

    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@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>



    This archive was generated by hypermail 2b29 : Sun Apr 11 2004 - 13:46:06 EDT