WBMM> Posted Resource schema v0.20 (22 Jan 2004)

WBMM> Posted Resource schema v0.20 (22 Jan 2004)

McDonald, Ira imcdonald at sharplabs.com
Thu Jan 22 19:03:54 EST 2004


Hi folks,                                     Thursday (22 January 2004)

[per our review at yesterday's WBMM telecon, further review of last IPP
Resource object draft, and various IETF MIBs]

I have just posted a revised Resource XML Schema v0.20, 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/resource-20040122.xsd

Below are:  (a) change log; (b) use models; (c) excerpts.

To do:  propose additional elements for Font resources (Ira).

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

------------------------------------------------------------------------
[changes from v0.10 to v0.20]

(1) Minor editorial fixups;

(2) Deleted the complicated state 'stopped' from 'ResourceStateType',
    per Tom Hastings comments from CIP4 JDF experience in December 2003;

(3) Corrected modelling from order-dependent parallel attributes in IPP
    Resource object for resource data by creating 'ResourceData' group:

    <xsd:element name="ResourceData">
      <!-- ResourceData - group -->
      <xsd:complexType>
        <xsd:sequence>
          <xsd:element ref="ResourceDataURI"
            minOccurs="1" maxOccurs="1"/>
          <xsd:element ref="ResourceDataFormat"
            minOccurs="1" maxOccurs="1"/>
          <xsd:element ref="ResourceDataFormatVersion"
            minOccurs="0" maxOccurs="1"/>
          <xsd:element ref="ResourceDataCompression"
            minOccurs="1" maxOccurs="1"/>
          <xsd:element ref="ResourceDataKOctets"
            minOccurs="1" maxOccurs="1"/>
          <xsd:element ref="ResourceDataPresent"
            minOccurs="1" maxOccurs="1"/>
        </xsd:sequence>
      </xsd:complexType>
    </xsd:element>

(4) Added 'ResourceDataFormat' and 'ResourceDataFormatVersion' elements
    to 'ResourceData' group (e.g., 'application/pdf' and 'PDF-is/1.0'
    for a logo), per Jerry Thrasher at WBMM telecon on 21 January 2004;

(5) Moved 'ResourceDataPresent' element from 'ResourceStatus' group
    (single-valued) to 'ResourceData' group (multi-valued),
    for correct object modelling;

(6) Added 'ResourceCopyright' element to 'ResourceDescription' group,
    for support of intellectual property notices (e.g., for a font);

(7) Added 'ResourceVersion' element to 'ResourceDescription' group,
    for support of version notices (e.g., for a firmware build);

(8) Added 'ResourceDocumentFormats' element to 'ResourceDescription'
    (e.g., 'application/pdf' for a font), per IPP Resource object;

(9) Added 'ResourceData' group (may be multi-valued) to end of
    'ResourceDescription' group, for correct object modelling;


------------------------------------------------------------------------
[use models for Resource Schema]

(1) Fleet Management Printer Monitor
    - reads list of 'ResourceFirmware' once at startup
      and subscribes to Printer/Job/Resource alerts
    - reads 'ResourceState' and 'ResourceDataPresent' periodically
    - updates Resources, as required by specific alerts

(2) Local Operator Printer Monitor
    - reads list of all Resource types once at startup
      and subscribes to Printer/Job/Resource alerts
    - reads 'ResourceState' and 'ResourceDataPresent' periodically
    - updates Resources, as required by specific alerts

(3) Accounting Printer Monitor
    - TBD (a Resource may be either Service/Device or Job scope)
    - see new 'ResourcePersistence' element

------------------------------------------------------------------------
[excerpts from Resource Schema]


<xsd:simpleType name="ResourceStateType">
  <!-- state of this resource -->
  <!-- see IPP printer-state - section 4.4.11 [RFC2911] -->
  <xsd:restriction base="xsd:NMTOKEN">

    <xsd:enumeration value="Idle"/>
    <!-- resources is idle (not reserved by any job) -->
    <!-- (resource may be modified/deleted by authenticated admin) -->
    <!-- see 'idle' - section 4.4.11 [RFC2911] -->

    <xsd:enumeration value="Reserved"/>
    <!-- resource is currently reserved (by one or more jobs) -->
    <!-- resource extension to IPP Printer object state model -->

    <xsd:enumeration value="Processing"/>
    <!-- resource is currently processing (in one or more jobs) -->
    <!-- see 'processing' - section 4.4.11 [RFC2911] -->

    <!-- intentionally omitted 'stopped' - section 4.4.11 [RFC2911] -->
  </xsd:restriction>
</xsd:simpleType>

<xsd:element name="ResourceStatus">
  <!-- ResourceStatus - group -->
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="ResourceState"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourcePersistence"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceCreateDate"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceModifyDate"
        minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ResourceData">
  <!-- ResourceData - group -->
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="ResourceDataURI"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceDataFormat"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceDataFormatVersion"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceDataCompression"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceDataKOctets"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceDataPresent"
        minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<xsd:element name="ResourceDescription">
  <!-- ResourceDescription - group -->
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="ResourceIndex"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceInfo"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceName"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceCopyright"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceVersion"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceDocumentFormats"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceData"
        minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>


<xsd:element name="Resource">
  <!-- union of resource classes -->
  <xsd:complexType>
    <xsd:choice minOccurs="0" maxOccurs="1">
      <xsd:element ref="ResourceFirmware"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceFont"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceForm"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceImage"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceLogo"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceSoftware"
        minOccurs="0" maxOccurs="1"/>
    </xsd:choice>
  </xsd:complexType>
</xsd:element>



More information about the Wims mailing list