WBMM> Posted Resource Schema v0.30 (11 March 2004)

WBMM> Posted Resource Schema v0.30 (11 March 2004)

McDonald, Ira imcdonald at sharplabs.com
Thu Mar 11 12:55:06 EST 2004


Hi folks,                                       Thursday (11 March 2004)

[per our review at PWG face-to-face in San Jose in February 2004]

I have just posted a revised Resource XML Schema v0.30, 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-20040311.xsd

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

Action:  propose additional elements for Font resources (Ira).

Cheers,
- Ira McDonald
  High North Inc


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) Minor editorial fixups;

(2) Corrected 'ResourcePersistenceType', changing duplicate 'Permanent'
    to 'ReadOnly' (per 'StorageType' in RFC 2579);

(3) Corrected 'ResourceDocumentFormats', changing to be multi-valued as
    intended;

(4) Added 'ResourceOwner' (required), per PWG review in February;

(5) Added 'ResourceOwnerVCard' (optional), for owner contact info

(6) Added 'ResourceAccessMode' (required), with POSIX style permissions,
per PWG review in February;

(7) Added 'ResourceAccessDate' (optional), for resource aging/cleanup;

(8) Added 'ResourceJobURIs' (optional), per PWG review in February.


------------------------------------------------------------------------
[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="ResourceOwner"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceOwnerVCard"
        minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="ResourceAccessMode"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceCreateDate"
        minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ResourceAccessDate"
        minOccurs="0" 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="ResourceJobURIs"
        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