

<!ELEMENT xpif (xpif-operation-attributes | job-template-attributes)*> 


  <!ATTLIST xpif
	version		CDATA		#REQUIRED 
	cpss-version	CDATA		#REQUIRED
	xml:lang	NMTOKEN		#REQUIRED
	>

	<!-- The "version" attribute indicates the version of the -->
	<!-- XPIF specification.  In other words, this is the     -->
	<!-- version of the data format specification used to     -->
	<!-- create the DTD.  This version number is different    -->
	<!-- from the cpss-version number and is different from   -->
	<!-- version number contained in the name of the actual   -->
	<!-- DTD file (e.g., xpif-v15.dtd).  			  -->

	<!-- The "cpss-version" is the CPSS version that the      -->
	<!-- semantic elements are defined in.   		  -->

	<!-- The version number contained in the name of the DTD  -->
	<!-- file is constructed using the following formula. The -->
	<!-- first four digits reflect the released version of the-->
	<!-- of the CPSS that the DTD is based on.  For-example:  -->
	<!-- xpif-v1500.dtd reflects a DTD compliant with the v1.5-->
	<!-- CPSS.  If the third and fourth digit are greater than-->
	<!-- 00, e.g., v-1501, this indicates that a new version  -->
	<!-- of the DTD was created after the 1.500 version, but  -->
	<!-- is still compliant with CPSS v1.5.  This may happen  -->
	<!-- in cases where a bug to the DTD is required.         -->
	<!-- Additional letters may also appear after the the four-->
	<!-- digit version number.  These letters represent a DTD -->
	<!-- compliant with the CPSS version indicated in the four-->
	<!-- portion of the version number, but that also contains-->
	<!-- extensions to the CPSS not yet released.  Product    -->
	<!-- teams may use this mechanism to create private DTD   -->
	<!-- files.  The only restriction is that the single      -->
	<!-- letters a-z and A-Z are reserved (e.g., a file name  -->
	<!-- of xpif-v1500a.dtd can only be created by the CPSS   -->
	<!-- working group).  Examples of valid private DTD file  -->
	<!-- names: xpif-v1500Private.dtd, xpif-v1502PSG, ...     -->

<!ELEMENT xpif-operation-attributes (
	job-name | 
	document-name | 
	document-format | 
	document-uri |
	compression | 
	job-k-octets | 
	job-impressions | 
	requesting-user-name | 
	job-media-sheets | 
	job-password |
        job-password-encryption)*
	>


<!ELEMENT job-template-attributes (
	job-priority | 
	job-hold-until | 
	job-sheets | 
	multiple-document-handling | 
	copies | 
	finishings | 
	page-ranges | 
	sides | 
	number-up | 
	orientation-requested | 
	media | 
	printer-resolution | 
	print-quality |
	output-bin |
	cover-back | 
	cover-front |
	imposition-template | 
	insert-sheet | 
	job-account-id | 
	job-accounting-sheets |
	job-error-sheet | 
	job-message-to-operator | 
	job-recipient-name |
	job-save-disposition |
	job-sheets-col | 
	job-sheet-message | 
	media-col |
	page-delivery | 
	page-order-received |
	separator-sheets | 
	sheet-collate | 
	x-image-auto-center |
	x-image-shift | 
	x-side1-image-shift | 
	x-side2-image-shift |
	y-image-auto-center | 
	y-image-shift | 
	y-side1-image-shift |
	y-side2-image-shift |
	document-overrides |
	page-overrides |
	pages-per-subset |
	black-overprint | 
	adjust-cyan-red |
	adjust-magenta-green |
	adjust-yellow-blue |
	adjust-contrast |
	adjust-lightness |
	adjust-saturation |
	color-destination-profile-back |
	color-destination-profile-front |
	color-effects-type |
	color-emulation |
	force-front-side |
	print-from-saved-attributes |
	trapping |
	rendering-intent-graphics |
	rendering-intent-images |
	rendering-intent-text |
	color-effects-type |
	source-cmy-graphics |
	undefined-source-cmy-graphics |
	source-cmy-images |
	undefined-source-cmy-images |
	source-cmy-text |
	undefined-source-cmy-text |
	source-cmyk-graphics |
	undefined-source-cmyk-graphics |
	source-cmyk-images |
	undefined-source-cmyk-images |
	source-cmyk-text |
	undefined-source-cmyk-text |
	source-gray-graphics |
	undefined-source-gray-graphics |
	source-gray-images |
	undefined-source-gray-images |
	source-gray-text |
	undefined-source-gray-text |
	source-rgb-graphics |
	undefined-source-rgb-graphics |
	source-rgb-images |
	undefined-source-rgb-images |
	source-rgb-text |
	undefined-source-rgb-text |
	trc |
	trc-type |
	trc-name |
	trc-cyan-data |
	trc-magenta-data |
	trc-yellow-data |
	trc-black-data |
	bleed-edge-printing |
	finishings-col |
	finishing-template |
	stitching |
	stitching-reference-edge |
	stitching-offset |
	stitching-locations |
	anti-aliasing |
	opi-image-insertion |
	opi-image-pre-scan |
	resource-pre-scan |
	lead-edge-conditioning |
	print-document-uri | 
 	resource-cleanup |
	font-name-requested |
	font-size-requested |
	job-accounting-user-id |
	proof-print |
	color-depth-yyy |
	job-hold-until-time |
	feed-orientation |
        media-input-tray-check |
	presentation-direction |
	x-image-position |
	y-image-position |
	page-rotation |
	highlight-colorant |
	highlight-map-color |
	highlight-map |
	highlight-colorant-mismatch |
	job-phone-number)*
	>


<!-- ENTITY Definitions -->
<!-- The following ENTITY contains all of the valid syntaxes -->
<!-- in CPSS Version 1.5                                     -->

<!ENTITY % ipp-syntaxes "(text | name | keyword | enum | uri | uriScheme | 
	mimeMediaType | octetString | boolean | integer | rangeOfInteger | 
	dateTime | resolution | 1setOf | collection)">


<!-- End Entity Definitions -->

<!-- Syntax sub elements sections -->

<!-- rangeOfInteger syntax sub-elements -->

<!-- The "rangeOfInteger" syntax is a compound element which -->
<!-- MUST include the following elements, whenever the       -->
<!-- "rangeOfInteger" syntax is specified. See section 4.1.13-->
<!-- of the IPP Model and Semantics Specification.           -->


<!ELEMENT lower-bound (#PCDATA)>
  <!ATTLIST lower-bound
	syntax	(integer)	#REQUIRED
	>

<!ELEMENT upper-bound (#PCDATA)>
  <!ATTLIST upper-bound
	syntax	(integer)	#REQUIRED
	>

<!-- 1setOf Syntax sub-element -->


<!-- The "1setOf X" syntax is a compound element which MUST -->
<!-- include one or more of the "value" elements            -->
<!-- specified below. The syntax attribute MUST contain the -->
<!-- syntax type for each individual "value" element.       -->
<!-- Note: The "value" element must allow for the optional  -->
<!-- inclusion of all xml attributes that are possible for  -->
<!-- all "syntax" types.                                    -->


<!ELEMENT value ANY>
  <!ATTLIST value
	syntax		%ipp-syntaxes;	#REQUIRED
	xml:space	(preserve)	#IMPLIED
	xml:lang	NMTOKEN		#IMPLIED
	>

<!-- End Syntax sub elements section -->

<!-- Operaion Attribute: this section defines the operation -->
<!-- attributes that are valid in an XPIF document.         -->

<!ELEMENT job-name (#PCDATA)>
  <!ATTLIST job-name
	syntax		(name)		#REQUIRED
	xml:space	(preserve)	#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	>


<!ELEMENT document-name (#PCDATA)>
  <!ATTLIST document-name
	syntax		(name)		#REQUIRED
	xml:space	(preserve)	#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	>

<!ELEMENT document-format (#PCDATA)>
  <!ATTLIST document-format
	syntax	(mimeMediaType)	#REQUIRED
	>

<!ELEMENT document-uri (#PCDATA)>
  <!ATTLIST document-uri
	syntax	(uri)	#REQUIRED
	>


<!ELEMENT compression (#PCDATA)>
  <!ATTLIST compression
	syntax		(keyword)	#REQUIRED
	>



<!ELEMENT job-k-octets (#PCDATA)>
  <!ATTLIST job-k-octets
	syntax	(integer)	#REQUIRED
	>


<!ELEMENT job-impressions (#PCDATA)>
  <!ATTLIST job-impressions
	syntax	(integer)	#REQUIRED
	>


<!ELEMENT job-media-sheets (#PCDATA)>
  <!ATTLIST job-media-sheets
	syntax	(integer)	#REQUIRED	
	>


<!ELEMENT requesting-user-name (#PCDATA)>
  <!ATTLIST requesting-user-name
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED	
	>

<!ELEMENT job-password (#PCDATA)>
  <!ATTLIST job-password 
	syntax		(octetString)		#REQUIRED
	>

<!ELEMENT job-password-encryption (#PCDATA)>
  <!ATTLIST job-password-encryption 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

  <!-- original-requesting-user-name: new in CPSS 1.5 -->

<!ELEMENT original-requesting-user-name (#PCDATA)>
  <!ATTLIST original-requesting-user-name
	syntax		(name)	#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!-- End Operation Attributes -->

<!-- Job Template Attributes: this section defines the Job   -->
<!-- Template attributes that are valid in an XPIF document. -->

<!-- CPSS Job Template Attributes that are also IPP/1.1 Job  -->
<!-- Job Template Attributes (including extensions).          -->

<!ELEMENT job-priority (#PCDATA)>
  <!ATTLIST job-priority 
	syntax	(integer)	#REQUIRED
	>

<!ELEMENT job-hold-until (#PCDATA)>
  <!ATTLIST job-hold-until 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT job-sheets (#PCDATA)>
  <!ATTLIST job-sheets 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT multiple-document-handling (#PCDATA)>
  <!ATTLIST multiple-document-handling 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT copies (#PCDATA)>
  <!ATTLIST copies 
	syntax	(integer)	#REQUIRED	
	>

<!ELEMENT finishings (value)+>
  <!ATTLIST finishings 
	syntax	(1setOf)	#REQUIRED	
	>

<!ELEMENT page-ranges (value)+>
  <!ATTLIST page-ranges 
	syntax	(1setOf)	#REQUIRED	
	>

<!ELEMENT sides (#PCDATA)>
  <!ATTLIST sides 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT number-up (#PCDATA)>
  <!ATTLIST number-up 
	syntax	(integer)	#REQUIRED
	>

<!ELEMENT orientation-requested (#PCDATA)>
  <!ATTLIST orientation-requested 
	syntax	(enum)		#REQUIRED
	>


<!ELEMENT media (#PCDATA)>
  <!ATTLIST media 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>


<!-- Resolution -->

<!ELEMENT printer-resolution (cross-feed, feed-direction, units)>
  <!ATTLIST printer-resolution 
	syntax	(resolution)	#REQUIRED
	>

  <!ELEMENT cross-feed (#PCDATA)>
    <!ATTLIST cross-feed
	syntax	(integer)	#REQUIRED
	>

  <!ELEMENT feed-direction (#PCDATA)>
    <!ATTLIST feed-direction
	syntax	(integer)	#REQUIRED
	>

  <!ELEMENT units (#PCDATA)>
    <!ATTLIST units
	syntax	(integer)	#REQUIRED
	>

<!-- End Resolution -->

<!ELEMENT print-quality (#PCDATA)>
  <!ATTLIST print-quality 
	syntax	(enum)		#REQUIRED
	>

<!-- Start CPSS1.3 and earlier -->
<!-- output-bin: removed integer syntax per CPSS 1.5 -->

<!ELEMENT output-bin (#PCDATA)>
  <!ATTLIST output-bin 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!-- cover-back -->

<!ELEMENT cover-back (media | media-col | cover-type)*>
  <!ATTLIST cover-back 
	syntax		(collection)	#REQUIRED
	>

  <!ELEMENT cover-type (#PCDATA)>
    <!ATTLIST cover-type 
	syntax		(keyword)	#REQUIRED
	>
<!-- End cover-back -->

<!-- cover-front -->

<!ELEMENT cover-front (media | media-col | cover-type)*>
  <!ATTLIST cover-front 
	syntax		(collection)	#REQUIRED
	>

<!-- End cover-front -->

<!ELEMENT imposition-template (#PCDATA)>
  <!ATTLIST imposition-template 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!-- insert-sheet -->

<!ELEMENT insert-sheet (value)+>
  <!ATTLIST insert-sheet 
	syntax		(1setOf)	#REQUIRED
	>

  <!ELEMENT insert-after-page-number (#PCDATA)>
    <!ATTLIST insert-after-page-number 
	syntax		(integer)	#REQUIRED
	>  

  <!ELEMENT insert-count (#PCDATA)>
    <!ATTLIST insert-count 
	syntax		(integer)	#REQUIRED
	>  
<!-- End insert-sheet -->

<!-- job-account-id: to represent NO associated account, use: -->
<!-- <job-account-id syntax="name" xml:space="preserve"></job-account-id> -->

<!ELEMENT job-account-id (#PCDATA)>
  <!ATTLIST job-account-id 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>


<!-- job-accounting-sheets -->

<!ELEMENT job-accounting-sheets (media | media-col | job-accounting-sheets-type |
			         job-accounting-output-bin)*>
  <!ATTLIST job-accounting-sheets 
	syntax		(collection)	#REQUIRED	
	>

  <!ELEMENT job-accounting-sheets-type (#PCDATA)>
    <!ATTLIST job-accounting-sheets-type 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>

  <!-- job-accounting-output-bin: added per CPSS 1.5  -->

  <!ELEMENT job-accounting-output-bin (#PCDATA)>
    <!ATTLIST job-accounting-output-bin 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>
<!-- job-accounting-sheets -->

<!-- job-error-sheet -->
<!ELEMENT job-error-sheet (media | media-col |  job-error-sheet-when | job-error-sheet-type)*>
  <!ATTLIST job-error-sheet 
	syntax		(collection)	#REQUIRED	
	>
  <!ELEMENT job-error-sheet-type (#PCDATA)>
    <!ATTLIST job-error-sheet-type 
	syntax		(keyword | name)	#REQUIRED	
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>

  <!ELEMENT job-error-sheet-when (#PCDATA)>
    <!ATTLIST job-error-sheet-when 
	syntax		(keyword)	#REQUIRED	
	>
<!-- job-error-sheet -->

<!ELEMENT job-message-to-operator (#PCDATA)>
  <!ATTLIST job-message-to-operator 
	syntax		(text)		#REQUIRED
	xml:space	(preserve)	#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	>

<!ELEMENT job-recipient-name (#PCDATA)>
  <!ATTLIST job-recipient-name 
	syntax		(name)	#REQUIRED	
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!-- job-save-disposition -->

<!ELEMENT job-save-disposition (save-disposition | save-info)*>
  <!ATTLIST job-save-disposition 
	syntax		(collection)		#REQUIRED
	>
  <!ELEMENT save-disposition (#PCDATA)>
    <!ATTLIST save-disposition 
	syntax		(keyword)	#REQUIRED	
	>
  <!ELEMENT save-info (value)+>
    <!ATTLIST save-info 
	syntax		(1setOf)	#REQUIRED	
	>
  <!ELEMENT save-location (#PCDATA)>
    <!ATTLIST save-location 
	syntax		(uri)	#REQUIRED	
	>
  <!ELEMENT save-document-format (#PCDATA)>
    <!ATTLIST save-document-format 
	syntax		(mimeMediaType)	#REQUIRED	
	>

  <!-- Change for V2.0           -->
  <!-- removed save-job-attributes-format, added save-name -->
  <!-- per CPSS 2.0                                        -->

  <!-- <!ELEMENT save-job-attributes-format (#PCDATA) > -->
  <!--  <!ATTLIST save-job-attributes-format            -->
  <!--	syntax		(keyword)	#REQUIRED	-->
  <!--	>                                               -->

  <!ELEMENT save-name (#PCDATA)>
    <!ATTLIST save-name 
	syntax		(name)	#REQUIRED
	xml:space	(preserve)	#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED	
	>

  <!-- End Change for v2.0       -->

<!-- job-save-disposition -->   

<!ELEMENT job-sheets-col (media | media-col | job-sheets)*>
  <!ATTLIST job-sheets-col 
	syntax		(collection)		#REQUIRED
	>

<!ELEMENT job-sheet-message (#PCDATA)>
  <!ATTLIST job-sheet-message 
	syntax		(text)		#REQUIRED
	xml:space	(preserve)	#REQUIRED	
	xml:lang	NMTOKEN		#IMPLIED
	>


  <!-- media-col: modified member elements based on CPSS 1.5 -->

<!ELEMENT media-col (media-key | media-type | media-info | media-color | 
		  media-pre-printed | media-hole-count | media-order-count | 
		  media-size | media-weight-metric | media-back-coating | 
		  media-front-coating | media-recycled | media-description)*>
  <!ATTLIST media-col 
	syntax		(collection)	#REQUIRED	
	>


  <!ELEMENT media-key (#PCDATA)>
    <!ATTLIST media-key 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-type (#PCDATA)>
    <!ATTLIST media-type 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-info (#PCDATA)>
    <!ATTLIST media-info 
	syntax		(text)			#REQUIRED
	xml:space	(preserve)		#REQUIRED	
	xml:lang	NMTOKEN			#IMPLIED
	>
  <!ELEMENT media-color (#PCDATA)>
    <!ATTLIST media-color 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-pre-printed (#PCDATA)>
    <!ATTLIST media-pre-printed 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-hole-count (#PCDATA)>
    <!ATTLIST media-hole-count 
	syntax		(integer)	#REQUIRED
	>
  <!ELEMENT media-order-count (#PCDATA)>
    <!ATTLIST media-order-count 
	syntax		(integer)	#REQUIRED
	>
  <!ELEMENT media-size (x-dimension | y-dimension)*>
    <!ATTLIST media-size 
	syntax		(collection)	#REQUIRED	
	>
	<!ELEMENT x-dimension (#PCDATA)>
	  <!ATTLIST x-dimension 
		syntax		(integer)	#REQUIRED
		>
	<!ELEMENT y-dimension (#PCDATA)>
	  <!ATTLIST y-dimension 
		syntax		(integer)	#REQUIRED
		>
  <!ELEMENT media-weight-metric (#PCDATA)>
    <!ATTLIST media-weight-metric 
	syntax		(integer)	#REQUIRED
	>
  <!ELEMENT media-back-coating (#PCDATA)>
    <!ATTLIST media-back-coating 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-front-coating (#PCDATA)>
    <!ATTLIST media-front-coating 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-recycled (#PCDATA)>
    <!ATTLIST media-recycled 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>
  <!ELEMENT media-description (#PCDATA)>
    <!ATTLIST media-description 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>
<!-- End Media -->

<!ELEMENT page-delivery (#PCDATA)>
  <!ATTLIST page-delivery 
	syntax		(keyword)	#REQUIRED	
	>

<!ELEMENT page-order-received (#PCDATA)>
  <!ATTLIST page-order-received 
	syntax		(keyword)	#REQUIRED	
	>

<!ELEMENT separator-sheets (media | media-col | separator-sheets-type)*>
  <!ATTLIST separator-sheets 
	syntax		(collection)	#REQUIRED	
	>
  <!ELEMENT separator-sheets-type (#PCDATA)>
    <!ATTLIST separator-sheets-type 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED	
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT sheet-collate (#PCDATA)>
  <!ATTLIST sheet-collate 
	syntax		(keyword)	#REQUIRED	
	>

<!ELEMENT x-image-auto-center (#PCDATA)>
  <!ATTLIST x-image-auto-center 
	syntax		(boolean)	#REQUIRED	
	>

<!ELEMENT x-image-shift (#PCDATA)>
  <!ATTLIST x-image-shift 
	syntax		(integer)	#REQUIRED	
	>

<!ELEMENT x-side1-image-shift (#PCDATA)>
  <!ATTLIST x-side1-image-shift 
	syntax		(integer)	#REQUIRED	
	>

<!ELEMENT x-side2-image-shift (#PCDATA)>
  <!ATTLIST x-side2-image-shift 
	syntax		(integer)	#REQUIRED	
	>

<!ELEMENT y-image-auto-center (#PCDATA)>
  <!ATTLIST y-image-auto-center 
	syntax		(boolean)	#REQUIRED	
	>

<!ELEMENT y-image-shift (#PCDATA)>
  <!ATTLIST y-image-shift 
	syntax		(integer)	#REQUIRED	
	>

<!ELEMENT y-side1-image-shift (#PCDATA)>
  <!ATTLIST y-side1-image-shift 
	syntax		(integer)	#REQUIRED	
	>

<!ELEMENT y-side2-image-shift (#PCDATA)>
  <!ATTLIST y-side2-image-shift 
	syntax		(integer)	#REQUIRED	
	>


<!-- Document and Page Exceptions                              -->
<!-- Note: a thorough understanding of the Document and Page   -->
<!-- Exceptions semantics is required to effectively parse the -->
<!-- following attributes.  Because the XPIF is a syntactical  -->
<!-- mapping, the only other option would be to specifically   -->
<!-- state in the Specification and DTD the form of these      -->
<!-- particular attributes.                                    -->

<!ELEMENT document-overrides (value)+>
  <!ATTLIST document-overrides 
	syntax	(1setOf)	#REQUIRED	
	>

		<!-- v1.6 changed input-documents syntax to 1setOf -->

  <!ELEMENT input-documents (value)+>
    <!ATTLIST input-documents 
	syntax	(1setOf)	#REQUIRED	
	>

		<!-- v1.6 changed output-documents syntax to 1setOf -->

  <!ELEMENT output-documents (value)+>
    <!ATTLIST output-documents 
	syntax	(1setOf)	#REQUIRED	
	>

		<!-- v1.6 changed document-copies syntax to 1setOf -->

  <!ELEMENT document-copies (value)+>
    <!ATTLIST document-copies 
	syntax	(1setOf)	#REQUIRED	
	>

   <!-- page-overrides: changed name of attribute to page-overrides -->
   <!-- from page-exceptions per the change in CPSS 1.5             -->

<!ELEMENT page-overrides (value)+>
  <!ATTLIST page-overrides 
	syntax	(1setOf)	#REQUIRED	
	>

  <!ELEMENT pages (value)+>
    <!ATTLIST pages 
	syntax	(1setOf)	#REQUIRED	
	>

<!ELEMENT pages-per-subset (value)+>
  <!ATTLIST pages-per-subset 
	syntax	(1setOf)	#REQUIRED	
	>

<!-- END Document and Page Exceptions  -->

<!-- Meadows Extensions   -->

<!ELEMENT black-overprint (#PCDATA)>
  <!ATTLIST black-overprint 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT adjust-cyan-red (#PCDATA)>
  <!ATTLIST adjust-cyan-red 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT adjust-magenta-green (#PCDATA)>
  <!ATTLIST adjust-magenta-green 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT adjust-yellow-blue (#PCDATA)>
  <!ATTLIST adjust-yellow-blue 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT adjust-contrast (#PCDATA)>
  <!ATTLIST adjust-contrast 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT adjust-lightness (#PCDATA)>
  <!ATTLIST adjust-lightness 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT adjust-saturation (#PCDATA)>
  <!ATTLIST adjust-saturation 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT color-destination-profile-back (#PCDATA)>
  <!ATTLIST color-destination-profile-back 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT color-destination-profile-front (#PCDATA)>
  <!ATTLIST color-destination-profile-front 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>


<!ELEMENT color-emulation (#PCDATA)>
  <!ATTLIST color-emulation 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>



<!ELEMENT trapping (#PCDATA)>
  <!ATTLIST trapping 
	syntax		(keyword)	#REQUIRED
	>


<!ELEMENT rendering-intent-graphics (#PCDATA)>
  <!ATTLIST rendering-intent-graphics 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT rendering-intent-images (#PCDATA)>
  <!ATTLIST rendering-intent-images 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT rendering-intent-text (#PCDATA)>
  <!ATTLIST rendering-intent-text 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT color-effects-type (#PCDATA)>
  <!ATTLIST color-effects-type 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT source-cmy-graphics (#PCDATA)>
  <!ATTLIST source-cmy-graphics 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT undefined-source-cmy-graphics (#PCDATA)>
  <!ATTLIST undefined-source-cmy-graphics 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT source-cmy-images (#PCDATA)>
  <!ATTLIST source-cmy-images 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT undefined-source-cmy-images (#PCDATA)>
  <!ATTLIST undefined-source-cmy-images 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT source-cmy-text (#PCDATA)>
  <!ATTLIST source-cmy-text 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT undefined-source-cmy-text (#PCDATA)>
  <!ATTLIST undefined-source-cmy-text 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT source-cmyk-graphics (#PCDATA)>
  <!ATTLIST source-cmyk-graphics 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT undefined-source-cmyk-graphics (#PCDATA)>
  <!ATTLIST undefined-source-cmyk-graphics 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT source-cmyk-images (#PCDATA)>
  <!ATTLIST source-cmyk-images 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT undefined-source-cmyk-images (#PCDATA)>
  <!ATTLIST undefined-source-cmyk-images 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT source-cmyk-text (#PCDATA)>
  <!ATTLIST source-cmyk-text 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT undefined-source-cmyk-text (#PCDATA)>
  <!ATTLIST undefined-source-cmyk-text 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT source-gray-graphics (#PCDATA)>
  <!ATTLIST source-gray-graphics 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT undefined-source-gray-graphics (#PCDATA)>
  <!ATTLIST undefined-source-gray-graphics 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT source-gray-images (#PCDATA)>
  <!ATTLIST source-gray-images 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT undefined-source-gray-images (#PCDATA)>
  <!ATTLIST undefined-source-gray-images 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT source-gray-text (#PCDATA)>
  <!ATTLIST source-gray-text 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT undefined-source-gray-text (#PCDATA)>
  <!ATTLIST undefined-source-gray-text 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT source-rgb-graphics (#PCDATA)>
  <!ATTLIST source-rgb-graphics 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT undefined-source-rgb-graphics (#PCDATA)>
  <!ATTLIST undefined-source-rgb-graphics 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT source-rgb-images (#PCDATA)>
  <!ATTLIST source-rgb-images 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT undefined-source-rgb-images (#PCDATA)>
  <!ATTLIST undefined-source-rgb-images 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT source-rgb-text (#PCDATA)>
  <!ATTLIST source-rgb-text 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT undefined-source-rgb-text (#PCDATA)>
  <!ATTLIST undefined-source-rgb-text 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT trc (trc-type | trc-name | trc-cyan-data | trc-magenta-data | 
	       trc-yellow-data | trc-black-data)*>
  <!ATTLIST trc 
	syntax		(collection)	#REQUIRED
	>

<!ELEMENT trc-type (#PCDATA)>
  <!ATTLIST trc-type 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT trc-name (#PCDATA)>
  <!ATTLIST trc-name 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT trc-cyan-data (#PCDATA)>
  <!ATTLIST trc-cyan-data 
	syntax		(octetString)		#REQUIRED
	>

<!ELEMENT trc-magenta-data (#PCDATA)>
  <!ATTLIST trc-magenta-data 
	syntax		(octetString)		#REQUIRED
	>

<!ELEMENT trc-yellow-data (#PCDATA)>
  <!ATTLIST trc-yellow-data 
	syntax		(octetString)		#REQUIRED
	>

<!ELEMENT trc-black-data (#PCDATA)>
  <!ATTLIST trc-black-data 
	syntax		(octetString)		#REQUIRED
	>

<!ELEMENT bleed-edge-printing (#PCDATA)>
  <!ATTLIST bleed-edge-printing 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT finishings-col (finishing-template | stitching)*>
  <!ATTLIST finishings-col 
	syntax		(collection)	#REQUIRED
	>

<!ELEMENT finishing-template (#PCDATA)>
  <!ATTLIST finishing-template 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT stitching (stitching-reference-edge | stitching-offset | stitching-locations)*>
  <!ATTLIST stitching 
	syntax		(collection)	#REQUIRED
	>

<!ELEMENT stitching-reference-edge (#PCDATA)>
  <!ATTLIST stitching-reference-edge 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT stitching-offset (#PCDATA)>
  <!ATTLIST stitching-offset 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT stitching-locations (value)+>
  <!ATTLIST stitching-locations 
	syntax		(1setOf)	#REQUIRED
	>

<!ELEMENT anti-aliasing (#PCDATA)>
  <!ATTLIST anti-aliasing 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT opi-image-insertion (#PCDATA)>
  <!ATTLIST opi-image-insertion 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT opi-image-pre-scan (#PCDATA)>
  <!ATTLIST opi-image-pre-scan 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT resource-pre-scan (#PCDATA)>
  <!ATTLIST resource-pre-scan 
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT lead-edge-conditioning (#PCDATA)>
  <!ATTLIST lead-edge-conditioning 
	syntax		(integer)	#REQUIRED	
	>

<!ELEMENT print-from-saved-attributes (#PCDATA)>
  <!ATTLIST print-from-saved-attributes 
	syntax		(uri)	#REQUIRED	
	>

<!ELEMENT print-document-uri (#PCDATA)>
  <!ATTLIST print-document-uri 
	syntax		(uri)	#REQUIRED	
	>

<!ELEMENT force-front-side (value)+>
  <!ATTLIST force-front-side 
	syntax		(1setOf)	#REQUIRED	
	>

<!ELEMENT resource-cleanup (#PCDATA | value)*>
  <!ATTLIST resource-cleanup 
	syntax		(keyword | 1setOf)	#REQUIRED	
	>

<!-- END CPSS V1.3 and earlier New attributes -->

<!-- CPSS V1.4 New Attributes -->

<!ELEMENT font-name-requested (#PCDATA)>
  <!ATTLIST font-name-requested 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>

<!ELEMENT font-size-requested (#PCDATA)>
  <!ATTLIST font-size-requested 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT job-accounting-user-id (#PCDATA)>
  <!ATTLIST job-accounting-user-id 
	syntax		(name)		#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	xml:space	(preserve)	#REQUIRED
	>


<!ELEMENT proof-print (proof-print-copies | media | media-col)*>
  <!ATTLIST proof-print 
	syntax		(collection)	#REQUIRED
	>

  <!ELEMENT proof-print-copies (#PCDATA)>
  <!ATTLIST proof-print-copies 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT color-depth-yyy (#PCDATA)>
<!ATTLIST color-depth-yyy 
	syntax		(integer)	#REQUIRED
	>

<!ELEMENT job-hold-until-time (#PCDATA)>
<!ATTLIST job-hold-until-time 
	syntax		(dateTime)	#REQUIRED
	>

<!ELEMENT feed-orientation (#PCDATA)>
  <!ATTLIST feed-orientation
	syntax		(keyword)	#REQUIRED
	>


<!-- END CPSS V1.4 New Attributes -->

<!-- START CPSS V1.5 New Attributes -->

<!ELEMENT media-input-tray-check (#PCDATA)>
  <!ATTLIST media-input-tray-check 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT presentation-direction (#PCDATA)>
  <!ATTLIST presentation-direction
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT x-image-position (#PCDATA)>
  <!ATTLIST x-image-position
	syntax		(keyword)	#REQUIRED
	>

<!ELEMENT y-image-position (#PCDATA)>
  <!ATTLIST y-image-position
	syntax		(keyword)	#REQUIRED
	>

<!-- END CPSS V1.5 New Attributes -->

<!-- Additions for V1.6           -->
<!-- PSG Common Client extensions -->

<!ELEMENT page-rotation (#PCDATA)>
  <!ATTLIST page-rotation 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT highlight-colorant (#PCDATA)>
  <!ATTLIST highlight-colorant 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT highlight-map-color (#PCDATA)>
  <!ATTLIST highlight-map-color 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT highlight-map (#PCDATA)>
  <!ATTLIST highlight-map 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT highlight-colorant-mismatch (#PCDATA)>
  <!ATTLIST highlight-colorant-mismatch 
	syntax		(keyword | name)	#REQUIRED
	xml:lang	NMTOKEN			#IMPLIED
	xml:space	(preserve)		#IMPLIED
	>

<!ELEMENT job-phone-number (#PCDATA)>
  <!ATTLIST job-phone-number 
	syntax		(text)		#REQUIRED
	xml:space	(preserve)	#REQUIRED
	xml:lang	NMTOKEN		#IMPLIED
	>

<!-- END V1.6                                           -->

<!-- End Job Template Attributes -->

<!-- CHANGE LOG                                                  -->
<!-- Person       Date          Change                           -->
<!-- ############################################################-->
<!-- Kirk Ocke    02/01/2000    Genesis                          -->
<!-- Kirk Ocke    05/30/2000    Updated with Production Printing -->
<!--                            set 1, Meadows, and Document and -->
<!--                            Page Exception extensions.       -->
<!-- Kirk Ocke    06/30/2000    Updated with CPSS V1.3           -->
<!-- Kirk Ocke    09/07/2000    Updated with CPSS V1.4           -->
<!-- Kirk Ocke    01/03/2001    Updated with CPSS V1.5           -->
<!--				Changed xpif element attribute   -->
<!--				version to REQUIRED from FIXED   -->
<!-- Kirk Ocke    01/03/2001    1.500a                           -->
<!--				Based on DTD V1.5 with Common    -->
<!--				Client extensions that did not   -->
<!--				make it into CPSS V1.5           -->
<!-- Kirk Ocke    01/08/2001    1.500b                           -->
<!--				Added back media-description     -->
<!--				to the media collection          -->
<!-- Kirk Ocke    02/01/2001    1.600                            -->
<!--				Updated to CPSS V1.6:            -->
<!--				Changed the syntax of            -->
<!--				input-document, output-documents,-->
<!--                            and document-copies to 1setOf    -->
<!-- Kirk Ocke    05/29/2001    2.000                            -->
<!--				Updated to CPSS V2.0:            -->
<!--				Added save-name attribute and    -->
<!--				removed the attribute		 -->
<!--                            save-job-attributes-format from  -->
<!--                            job-save-disposition.  Changed   -->
<!--                            save-document-format syntax to   -->
<!--                            mimeMediaType from keyword       -->
<!--#############################################################-->