2.2.8.1 Printer Configuration Notification

Printer Configuration Notification is a string that contains a well-formed XML document ([XML1.0] section 2.1). The root element of the document MUST be the Notification element (section 2.2.8.1.1). Notification SHOULD be used by a print server to notify a client of change in printer configuration; the Notification element SHOULD contain one or more Schema elements (section 2.2.8.1.2) representing the names and values for the new printer configuration settings. If the size of the Printer Configuration Notification containing all of the changed printer configuration settings exceeds the server's maximum notification size, the server MUST replace Schema elements in the Printer Configuration Notification message with ReducedSchema elements (section 2.2.8.1.10) until the size of the Printer Configuration Notification message is smaller than the maximum notification size.

The document markup MUST be valid according to the following XML schema, whose elements are described in more detail in the following sections. Schema-Validity Assessment of the document's root element MUST result in a value of "valid" for the [validity] property ([XMLSCHEMA1/2] section 3.3.5).

 <xs:element name='Notification'>
   <xs:complexType>
     <xs:choice maxOccurs='unbounded'>
       <xs:element name='Schema'>
         <xs:complexType>
           <xs:choice>
             <xs:element name='BIDI_STRING' type='string'/>
             <xs:element name='BIDI_TEXT'   type='string'/>
             <xs:element name='BIDI_ENUM'   type='string'/>
             <xs:element name='BIDI_INT'    type='integer'/>
             <xs:element name='BIDI_FLOAT'  type='float'/>
             <xs:element name='BIDI_BOOL'   type='boolean'/>
             <xs:element name='BIDI_BLOB'   type='base64Binary'/>
           </xs:choice>
           <xs:attribute name='name' use='required'>
             <xs:simpleType>
               <xs:restriction base='string'>
                 <xs:pattern value='\\\w+(\.\w+)*\:\w+'/>
               </xs:restriction>
             </xs:simpleType>
           </xs:attribute>
         </xs:complexType>
       </xs:element>
       <xs:element name='ReducedSchema'>
         <xs:complexType>
           <xs:attribute name='name' use='required'>
             <xs:simpleType>
               <xs:restriction base='string'>
                 <xs:pattern value='\\(\w+(\.\w+)*(\:\w+)?)?'/>
               </xs:restriction>
             </xs:simpleType>
           </xs:attribute>
         </xs:complexType>
       </xs:element>
     </xs:choice>
     <xs:attribute name='printerName' type='string' use='required'/>
   </xs:complexType>
 </xs:element>