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>