Контрольный список создания документов PrintCapabilities

Этот раздел не является текущим. Для получения самой актуальной информации, см. в Спецификации схемы печати .

Сводка по типам элементов описывает различные элементы, составляющие документ PrintCapabilities. В этом разделе представлен контрольный список, который авторы документов PrintCapabilities могут использовать для создания документа PrintCapabilities, описывающего устройство.

  1. Определите все атрибуты устройства, которые способствуют настройке устройства. Для каждого такого атрибута устройства определите, следует ли представлять его как конструкцию компонента или параметра или как конструкцию параметра.

  2. Для каждого компонента устройства определите, может ли он быть представлен функцией, определенной в ключевых словах схемы печати. В противном случае необходимо ввести новую частную функцию (и соответствующий атрибут имени).

    • Для экземпляров характеристик, определенных ключевыми словами схемы печати, определите каждое из доступных состояний, в которых может быть установлена эта характеристика. Каждое состояние соответствует опции экземпляра функции. Определите, какие из этих состояний соответствуют экземплярам параметров, определенных схемой печати, связанным с данной функцией, а какие состояния требуют кастомизированного экземпляра параметра. В разделе "Определения параметров" представлены сведения о создании новых экземпляров Option и о том, как выводить новые экземпляры Option из существующих.

    • Для нестандартных экземпляров функций определите характеристики, которые можно использовать для отличия одной опции от другой. Представьте каждую такую характеристику элементом ScoredProperty, а в каждом экземпляре Option назначьте каждому ScoredProperty значение, специфичное для этого Option. Убедитесь, что существует достаточно элементов ScoredProperty, чтобы каждый параметр для данной функции был уникальным. Нестандартные экземпляры функций и параметров являются неотменяемыми по своей природе. То есть другой драйвер не сможет найти эквивалентную функцию или параметр, чтобы соответствовать нестандартному компоненту или параметру, указанному в PrintTicket, который создает драйвер.

  3. Определите, должна ли какая-либо опция содержать элементы ParameterRef. Дополнительные сведения см. в разделах Конструкторы параметров и Элементы ссылочных параметров.

  4. Для параметров определите, соответствует ли один из экземпляров ParameterDef, определённых в ключевых словах схемы печати, требуемым условиям. В этом случае скопируйте экземпляр ParameterDef из ключевых слов печатной схемы и измените значение каждого изменяемого свойства для наилучшего соответствия. Если ни один из экземпляров ParameterDef в ключевых словах схемы печати не соответствует требованиям, создайте собственный экземпляр ParameterDef. Дополнительные сведения см. в разделе Параметры в документе PrintCapabilities.

  5. Убедитесь, что все экземпляры Property и ScoredProperty, необходимые документу "Ключевые слова схемы печати", присутствуют в документе PrintCapabilities и правильно инициализированы.

  6. Добавьте дополнительные экземпляры свойств и подсвойств по мере необходимости. Можно использовать собственные экземпляры свойств, если есть аспекты устройства, которые необходимо охарактеризовать и которые не охватываются экземплярами свойств, определёнными в ключевых словах схемы печати.

  7. Следуйте соглашению о пространстве имен для атрибутов именования. Это относится к частным атрибутам имен, а также к тем, которые определены в ключевых словах схемы печати.

  8. Дочерние элементы одного типа не могут быть вложены на глубину более 10 элементов. Это правило применяется независимо к каждому типу элемента, который можно определить.

Обратите внимание, что содержимое XML документа о возможностях печати должно быть закодировано с помощью UTF-8 или UTF-16.

Обратите внимание, что набор экземпляров Feature, Option и ParameterDef не должен изменяться при любых обстоятельствах, независимо от моментального снимка. Экземпляры ScoredProperty, составляющие каждый экземпляр Option, и значения, назначенные каждому элементу ScoredProperty, также не должны изменяться. То же самое относится к экземплярам свойств, составляющим каждый экземпляр ParameterDef.

Список дополнительных экземпляров свойств, которые должны быть предоставлены для полного определения конструкций функций/опций и параметров, см. в разделах ParameterDef и ParameterInit. Например, каждая функциональность должна указывать поведение пользовательского интерфейса, в частности, может ли быть выбрана одна или несколько опций для каждой функциональности в один момент времени. Документ "Ключевые слова схемы печати" определяет экземпляры свойств, где они должны отображаться в документе PrintCapabilities, а также какие экземпляры значений, определенные в "Ключевых словах схемы печати", доступны.

Поставщик PrintCapabilities отвечает за выдачу соответствующего значения для всех зависимых от конфигурации экземпляров свойств. Например, если скорость печати зависит от цветового режима и используемого разрешения, поставщик PrintCapabilities должен заметить параметры цветового режима и разрешения, указанные в предоставленном клиентом PrintTicket, и должны сообщить о правильном значении скорости печати. Обратите внимание, что каждый экземпляр ScoredProperty должен иметь единичное значение; его значение не может изменяться при изменении конфигурации устройства.

Обратите внимание также, что экземпляры свойств, указанные в ключевых словах схемы печати, должны появляться в указанном там расположении. Они не могут отображаться в произвольных расположениях в документе PrintCapabilities. Частные экземпляры свойств могут появляться в любом месте, даже в качестве под-свойств внутри экземпляров свойств, определенных схемой.

Обратите внимание, что функциональный конфликт между параметрами определяется как два, не конфликтующие элементы схемы печати, которые имеют аналогичную функцию, но являются разными функциями. Примером будет JobDuplexAllDocumentsContiguously и DocumentDuplex; оба представляют дуплексную функцию устройства, но отличаются в применении функции, один применяется ко всему заданию непрерывно и одному к документам. В случае указания двух таких элементов приоритет определяется производителем PrintCapabilities и потребителем PrintTicket. Продюсер PrintCapabilities отвечает за правильное указание ограничений между конфликтующими элементами через атрибут "ограниченный". Элементы в общедоступной схеме печати, которые демонстрируют этот семантический конфликт, определяются в их определении.

спецификация схемы печати