Definiciones de opciones
Este tema no está actualizado. Para obtener la información más reciente, consulte el Especificación de esquema de impresión .
La consideración clave al definir una opción es hacerlo de forma que se pueda comparar significativamente con otras instancias de Option contenidas en la misma característica. La comparación debe ser significativa porque la instancia option se usa para definir la configuración no solo del dispositivo, sino del trabajo, independientemente del dispositivo o PrintCapabilities que se usaron para crear la configuración. Las otras instancias de Option de la característica pueden aparecer en el mismo documento PrintCapabilities o en otro documento PrintCapabilities que represente un dispositivo diferente, un documento PrintCapabilities definido por otra parte que funcione de forma independiente. Una vez que un cliente selecciona la configuración del dispositivo que se va a usar para representar un trabajo o documento, esa configuración se guarda normalmente, junto con el trabajo o documento, en forma de PrintTicket. PrintTicket contiene un conjunto de instancias de Option, normalmente una para cada característica definida en el documento PrintCapabilities. Las instancias de opción deben ser portátiles y deben conservar la intención de impresión, de modo que la intención se pueda comunicar cuando se proporciona este PrintTicket a un dispositivo diferente, incluso uno que tenga un documento PrintCapabilities diferente escrito por otro autor. La principal ventaja de esta portabilidad es que si un dispositivo diferente no admite específicamente una opción contenida en PrintTicket, el controlador de dispositivo o subsistema puede identificar y seleccionar la opción más cercana en la funcionalidad.
Una de las funciones principales del controlador PrintTicket es identificar la opción del dispositivo en el documento PrintCapabilities que coincide con una opción determinada enumerada en PrintTicket. Durante este proceso de puntuación definido por el controlador de dispositivo o de coincidencia, la opción en PrintTicket se conoce como la referencia Option, mientras que la opción del documento PrintCapabilities se conoce como la opción candidata Option. La métrica de coincidencia general es el número de instancias scoredProperty coincidentes en las instancias de option candidatas y de referencia; un mayor número de coincidencias suele indicar una mejor conservación de la intención de impresión. En el proceso de puntuación, puede optar por dar mayor peso a algunos elementos ScoredProperty que a otros.
Puede hacer que las instancias de Option sean portátiles asegurándose de que todas las instancias de Option que pertenecen a la misma característica tengan uno o varios elementos ScoredProperty encomunes. Esto significa que hay un conjunto de elementos ScoredProperty que aparecen en cada instancia de Option (que pertenece a la misma característica). Por ejemplo, las instancias de Option para la característica PageMediaSize pueden ser portátiles si cada instancia de Option contiene elementos ScoredProperty que definen las propiedades intrínsecas PageMediaSize: MediaSizeWidth y MediaSizeHeight. Después, el código del controlador de dispositivo o del subsistema puede determinar el nivel de coincidencia de dos instancias de Option comparando las diferencias en estos valores ScoredProperty. Si no hay ninguna opción en el documento PrintCapabilities que coincida exactamente con la de PrintTicket, el controlador de dispositivo puede determinar y seleccionar fácilmente la opción que tiene las dimensiones multimedia coincidentes más cercanas.
Se dice que dos objetos (instancias de opción en este caso) tienen elementos encomunes, o equivalentemente, tienen elementos correspondientes, si se cumplen las tres condiciones siguientes.
Los dos elementos son del mismo tipo de elemento.
Los atributos de nombre de los dos elementos son idénticos (o ninguno de ellos contiene un atributo name).
La cadena de elementos primarios de los elementos que se comparan, hasta los dos objetos que se tienen en cuenta, debe cumplir las condiciones 1 y 2.
Por ejemplo, considere una situación en la que hay dos instancias de Option, donde cada una contiene una instancia ScoredProperty y que cada una de estas instancias ScoredProperty contiene una instancia property. Claramente, se cumple la primera condición (las dos instancias de Property son del mismo tipo) y parte de la tercera condición se cumple (los elementos primarios de las instancias property son del mismo tipo, ScoredProperty y los elementos primarios de esos elementos son las instancias option, que también son del mismo tipo). Si los atributos de nombre de, respectivamente, las instancias property, las instancias ScoredProperty y las instancias option son idénticas o no se proporcionan, las dos instancias option tienen elementos en común.
A partir de lo anterior, el primer paso para crear instancias de Option es definir un conjunto de elementos ScoredProperty que están presentes en la mayoría o en todas las instancias de Option. Si el atributo de configuración del dispositivo se puede representar mediante una característica estándar (una que aparece en las palabras clave de esquema de impresión), anote los elementos ScoredProperty en común en las instancias de Option estándar. Debe asegurarse de que las nuevas instancias de Option que introduzca también contengan estos elementos ScoredProperty. Siempre tiene la libertad de agregar elementos ScoredProperty adicionales según sea necesario para diferenciar las instancias option de las instancias de Option estándar. Incluso puede eliminar uno o varios de los elementos ScoredProperty en común si hay una buena razón, aunque esto reduce la portabilidad de este tipo de opción. Por supuesto, las consideraciones de portabilidad sugieren usar las instancias de opción estándar sin modificar, a menos que haya alguna diferencia intrínseca entre la opción y la instancia de opción estándar que debe reflejarse en la nueva instancia de Option.
En el ejemplo siguiente se muestra una situación para la que es posible que desee agregar un elemento ScoredProperty a una instancia de Option. Todas las instancias de Option estándar para la característica PageMediaSize tienen los elementos MediaSizeWidth y MediaSizeHeight ScoredProperty en común. Supongamos que el dispositivo puede admitir uno de los tamaños estándar de los medios Letter mediante la alimentación del papel de forma transversal (LongEdgeFirst) o longitudinalmente (ShortEdgeFirst). Suponiendo que no desea introducir una nueva característica de dirección de fuente para exponer este grado de libertad, puede modificar las dos instancias de la opción PageMediaSize para que Letter incorpore la orientación de la fuente de papel. Para estas dos instancias de Opción de letra, comience con la instancia de PageMediaSize Option estándar y agregue un nuevo elemento ScoredProperty para representar feedDirection. En una instancia de Option, establezca feedDirection ScoredProperty en LongEdgeFirst; en la otra instancia de Option, establezca FeedDirection en ShortEdgeFirst. Tenga en cuenta que estas nuevas instancias de Option mantienen su portabilidad. Si la opción que representa la letra, ShortEdgeFirst se guarda en un PrintTicket y un dispositivo diferente que solo admite la opción estándar Letter está seleccionada para representar el trabajo, el código de coincidencia de opciones puede determinar rápidamente que la letra de opción estándar es la mejor coincidencia con la letra de opción, ShortEdgeFirst. La razón por la que es la mejor coincidencia es que todas las instancias scoredProperty coinciden, a excepción de FeedDirection ScoredProperty, que no existe en la opción estándar Letter.
También puede encontrarse con casos en los que las modificaciones de la opción cambian realmente el significado de que la opción modificada ya no se puede considerar un caso especializado del original. En tales casos, debe cambiar el nombre de la opción para reflejar la diferencia entre la instancia de Option modificada y la sin modificar. Solo el autor del documento PrintCapabilities para un dispositivo determinado puede decidir si la opción que ofrece el dispositivo difiere lo suficiente de una instancia de Option estándar para garantizar una definición incompatible.
Ahora, tenga en cuenta el caso en el que el dispositivo tiene un atributo de configuración de dispositivo que no se corresponde con ninguna de las instancias de características estándar. En este caso, no puede confiar en las instancias de Option estándar para proporcionar la lista de elementos ScoredProperty en común. Al crear una instancia scoredProperty, el objetivo principal es diferenciar cada opción de las demás de la característica y describir por qué un usuario seleccionaría una opción en otra. La línea base consiste en caracterizar cada Option con un atributo de nombre único y scoredProperty que contiene el atributo name se convierte en el que se usa para determinar los elementos en común.
Después de establecer un conjunto de elementos ScoredProperty en común, es una cuestión sencilla asignar los valores adecuados a cada ScoredProperty para crear cada Opción. Como en el ejemplo anterior, para determinadas instancias de Option, es posible que tenga que agregar instancias ScoredProperty adicionales o eliminar algunos de los elementos en común para crear una instancia de Option adecuada.
Debe tenerse en cuenta que el esquema de impresión requiere que el conjunto de instancias ScoredProperty, sus ubicaciones y los valores asignados a cada ScoredProperty de una opción deben permanecer constantes, independientemente de la configuración. El concepto completo del esquema de impresión se basa en instancias de Option que tienen instancias fijas, identificables de propiedad y scoredProperty que se comparten entre muchos dispositivos.
Temas relacionados