Opzioni con parametri e opzioni non parametrizzate
Questo argomento non è aggiornato. Per le informazioni più aggiornate, vedere Print Schema Specification.
I provider PrintCapabilities e PrintTicket devono gestire correttamente le istanze di Option con parametri durante il processo di convalida PrintTicket. Come illustrato in Option Definitions, un passaggio eseguito nella convalida PrintTicket consiste nel trovare l'opzione nel documento PrintCapabilities del dispositivo corrente (opzione candidata) che corrisponde meglio all'opzione specificata in PrintTicket (opzione di riferimento). Quando una o entrambe le istanze di Option vengono parametrizzate, esistono tre casi possibili che devono essere gestiti dal processo di assegnazione dei punteggi definito dal driver di dispositivo: il caso in cui entrambe le istanze di Option sono parametrizzate e i due casi in cui un'opzione è parametrizzata e l'altra non è. Nei casi seguenti si presuppone che esista una corrispondenza tra le istanze scoredProperty con parametri nell'opzione PrintTicket e una particolare scoredProperty nell'opzione PrintCapabilities. Se non esiste alcuna corrispondenza, il processo di assegnazione dei punteggi può trattare queste istanze scoredProperty nello stesso modo in cui gestisce qualsiasi altra istanza scoredProperty non risponde.
Caso 1 - Opzioni documento PrintTicket e PrintCapabilities con parametri
In questo caso, sia l'opzione di riferimento (in PrintTicket) che l'opzione candidata (nel documento PrintCapabilities) sono parametrizzati. Accedere all'istanza ParameterDef a cui fa riferimento l'opzione candidata (sia nel documento PrintCapabilities) che determinare se il valore ParameterInit specificato in PrintTicket rientra nell'intervallo consentito dall'istanza ParameterDef. In tal caso, considerare questo scoredProperty come una corrispondenza. In caso contrario, scoredProperty non è una corrispondenza.
Caso 2 - Opzione PrintTicket con parametri, opzione documento PrintCapabilities senza parametri
In questo caso, PrintTicket contiene una caratteristica con un'opzione con parametri, mentre la caratteristica corrispondente nel documento PrintCapabilities contiene almeno un'opzione non con parametri. Anche se il documento PrintCapabilities contiene anche altre istanze option con parametri, il processo di assegnazione dei punteggi deve essere applicato a ogni opzione, perché l'obiettivo è identificare l'opzione di corrispondenza migliore. Il client deve essere in grado di confrontare i candidati di opzione non parametrizzati con un'opzione di riferimento con parametri.
Poiché l'opzione con parametri viene visualizzata in PrintTicket, anche le istanze ParameterInit devono essere presenti come illustrato nel caso precedente. Il processo di assegnazione dei punteggi può semplicemente sostituire qualsiasi istanza ParameterRef nell'opzione con parametri di PrintTicket con il valore specificato dall'istanza ParameterInit di PrintTicket. In questo modo si converte in modo efficace un'opzione con parametri in un'opzione non con parametri. A questo punto è possibile usare il processo di corrispondenza convenzionale.
Caso 3 - Opzione PrintTicket senza parametri, opzione di documento PrintCapabilities con parametri
In questo caso, l'opzione di riferimento in PrintTicket non è parametrizzata, mentre l'opzione candidata nel documento PrintCapabilities è parametrizzata. Accedere all'istanza ParameterDef nel documento PrintCapabilities a cui fa riferimento l'istanza ParameterRef dell'opzione candidata in PrintTicket e determinare se il valore definito nell'opzione di riferimento per l'oggetto ScoredProperty corrispondente rientra nell'intervallo consentito dall'istanza ParameterDef. In tal caso, considerare questo scoredProperty come una corrispondenza. In caso contrario, scoredProperty non corrisponde.
È consigliabile sottolineare che è necessario determinare la corrispondenza tra due istanze option in base al numero (e al significato) delle istanze ScoredProperty corrispondenti, indipendentemente dal fatto che le istanze ScoredProperty contengano istanze Value esplicite o ParameterRef. È possibile che un'opzione candidata sia la corrispondenza migliore, anche se contiene diverse istanze di Proprietà che non corrispondono a quelle dell'opzione di riferimento o che non dispongono di proprietà corrispondenti nell'opzione di riferimento.
Argomenti correlati