Definizioni di opzioni

Questo argomento non è aggiornato. Per le informazioni più aggiornate, vedere La specifica dello schema di stampa.

La considerazione chiave quando si definisce un'opzione consiste nell'eseguire questa operazione in modo che possa essere significativamente confrontata con altre istanze di Option contenute nella stessa funzionalità. Il confronto deve essere significativo perché l'istanza option viene usata per definire la configurazione non solo del dispositivo, ma del processo, indipendentemente dal dispositivo o PrintCapabilities usato per creare la configurazione. Le altre istanze di Option nella funzionalità possono essere visualizzate nello stesso documento PrintCapabilities o in un altro documento PrintCapabilities che rappresenta un dispositivo diverso, un documento PrintCapabilities definito da un'altra parte che funziona in modo indipendente. Dopo che un client seleziona la configurazione del dispositivo da usare per eseguire il rendering di un processo o di un documento, tale configurazione viene in genere salvata, insieme al processo o al documento, sotto forma di printticket. PrintTicket contiene un set di istanze option, in genere una per ogni caratteristica definita nel documento PrintCapabilities. Le istanze di opzione devono essere portabili e devono mantenere la finalità di stampa, in modo che la finalità possa essere comunicata quando l'oggetto PrintTicket viene assegnato a un dispositivo diverso, anche uno con un documento PrintCapabilities diverso scritto da un autore diverso. Il vantaggio principale di questa portabilità è che se un dispositivo diverso non supporta in modo specifico un'opzione contenuta in PrintTicket, il driver di dispositivo o il sottosistema è in grado di identificare e selezionare l'opzione più vicina nella funzionalità.

Una delle principali funzioni printticket del driver consiste nell'identificare l'opzione del dispositivo nel documento PrintCapabilities che corrisponde più strettamente a una particolare opzione elencata in PrintTicket. Durante questo processo di assegnazione dei punteggi definito dal driver di dispositivo o di corrispondenza, l'opzione in PrintTicket viene definita opzione di riferimento , mentre l'opzione nel documento PrintCapabilities viene definita opzione candidata . La metrica di corrispondenza generale è il numero di istanze ScoredProperty corrispondenti nelle istanze di Option candidate e reference; un numero maggiore di corrispondenze indica in genere una migliore conservazione della finalità di stampa. Nel processo di assegnazione dei punteggi è possibile scegliere di dare maggiore peso ad alcuni elementi ScoredProperty rispetto ad altri.

È possibile rendere portabili le istanze di Option assicurandosi che tutte le istanze option appartenenti alla stessa funzionalità abbiano uno o più elementi ScoredProperty in comune. Ciò significa che è presente un set di elementi ScoredProperty che vengono visualizzati in ogni istanza di Option (appartenente alla stessa funzionalità). Ad esempio, le istanze di Option per la funzionalità PageMediaSize possono essere portabili se ogni istanza di Option contiene elementi ScoredProperty che definiscono le proprietà intrinseche pageMediaSize: MediaSizeWidth e MediaSizeHeight. Il codice del driver di dispositivo o del sottosistema può quindi determinare il modo in cui due istanze di Option sono d'accordo confrontando le differenze in questi valori ScoredProperty. Se nel documento PrintCapabilities non è presente alcuna opzione che corrisponde esattamente a quella in PrintTicket, il driver di dispositivo può determinare e selezionare facilmente l'opzione con le dimensioni del supporto corrispondenti più vicine.

Due oggetti (istanze di Option in questo caso) hanno elementi in comune o in modo equivalente, hanno elementi corrispondenti, se vengono soddisfatte le tre condizioni seguenti.

  1. I due elementi sono dello stesso tipo di elemento.

  2. Gli attributi del nome dei due elementi sono identici (o nessuno dei due elementi contiene un attributo name).

  3. La catena di elementi padre degli elementi confrontati, fino ai due oggetti da considerare, deve soddisfare le condizioni 1 e 2.

Si consideri ad esempio una situazione in cui sono presenti due istanze option, in cui ognuna contiene un'istanza scoredProperty e che ognuna di queste istanze ScoredProperty contiene un'istanza di Property. Chiaramente, la prima condizione viene soddisfatta (le due istanze di Property sono lo stesso tipo) e parte della terza condizione viene soddisfatta (gli elementi padre delle istanze di Property sono lo stesso tipo, ScoredProperty e gli elementi padre di tali elementi sono le istanze option, che sono anche dello stesso tipo). Se gli attributi del nome di, rispettivamente, le istanze di Property, le istanze ScoredProperty e le istanze option sono identiche o non vengono fornite, le due istanze option hanno elementi in comune.

Dal precedente passaggio, il primo passaggio per la creazione di istanze di Option consiste nel definire un set di elementi ScoredProperty presenti nella maggior parte o in tutte le istanze di Option. Se l'attributo di configurazione del dispositivo può essere rappresentato da una funzionalità standard (una elencata nelle parole chiave dello schema di stampa), prendere nota degli elementi ScoredProperty in comune nelle istanze standard di Option. È necessario assicurarsi che tutte le nuove istanze di Option introdotte contengano anche questi elementi ScoredProperty. È sempre possibile aggiungere altri elementi ScoredProperty in base alle esigenze per distinguere le istanze di Option dalle istanze di Option standard. È anche possibile eliminare uno o più elementi ScoredProperty in comune se esiste un buon motivo, anche se ciò riduce la portabilità di tale opzione. Naturalmente, le considerazioni sulla portabilità suggeriscono di usare le istanze option standard non modificate, a meno che non vi sia una differenza intrinseca tra l'opzione e l'istanza di Option standard che deve essere riflessa nella nuova istanza di Option.

Nell'esempio seguente viene illustrata una situazione per cui si potrebbe voler aggiungere un elemento ScoredProperty a un'istanza option. Tutte le istanze di Option standard per la funzionalità PageMediaSize hanno gli elementi MediaSizeWidth e MediaSizeHeight ScoredProperty in comune. Si supponga che il dispositivo possa supportare una delle dimensioni dei supporti Lettera standard inserendo la carta in modo trasverso (LongEdgeFirst) o in modoarrabile (ShortEdgeFirst). Supponendo che non si voglia introdurre una nuova direzione feed Feature per esporre questo grado di libertà, è invece possibile modificare le due istanze di Opzione PageMediaSize per Letter per incorporare l'orientamento del feed di carta. Per queste due istanze di Letter Option, iniziare con l'istanza standard dell'opzione PageMediaSize e aggiungere un nuovo elemento ScoredProperty per rappresentare FeedDirection. In un'istanza option impostare FeedDirection ScoredProperty su LongEdgeFirst; nell'altra istanza di Option impostare FeedDirection su ShortEdgeFirst. Si noti che queste nuove istanze di Option mantengono la portabilità. Se l'opzione che rappresenta Lettera, ShortEdgeFirst viene salvata in un printTicket e viene selezionato un dispositivo diverso che supporta solo l'opzione standard Lettera per il rendering del processo, il codice di corrispondenza delle opzioni può determinare rapidamente che la lettera di opzione standard è la corrispondenza migliore con la lettera di opzione, ShortEdgeFirst. Il motivo per cui questa è la corrispondenza migliore è che tutte le istanze ScoredProperty sono d'accordo, ad eccezione di FeedDirection ScoredProperty, che non esiste nell'opzione standard Letter.

È anche possibile che si verifichino casi in cui le modifiche apportate all'opzione modifino effettivamente il significato tanto che l'opzione modificata non può più essere considerata un caso specializzato dell'originale. In questi casi, è necessario modificare il nome dell'opzione in modo da riflettere la differenza tra l'istanza di Option modificata e quella non modificata. Solo l'autore del documento PrintCapabilities per un determinato dispositivo può decidere se l'opzione offerta dal dispositivo è sufficientemente diversa da un'istanza di Opzione standard per garantire una definizione incompatibile.

Si consideri ora il caso in cui il dispositivo abbia un attributo di configurazione del dispositivo che non corrisponde ad alcuna delle istanze standard della funzionalità. In questo caso non è possibile basarsi sulle istanze di Option standard per fornire l'elenco di elementi ScoredProperty in comune. Quando si crea un'istanza scoredProperty, l'obiettivo principale è distinguere ogni opzione dalle altre nella funzionalità e descrivere il motivo per cui un utente seleziona un'opzione rispetto a un'altra. La baseline consiste nel caratterizzare ogni opzione con un attributo di nome univoco e scoredProperty che contiene l'attributo name diventa quello usato per determinare gli elementi in comune.

Dopo aver stabilito un set di elementi ScoredProperty in comune, è semplice assegnare valori appropriati a ogni ScoredProperty per creare ogni opzione. Come nell'esempio precedente, per determinate istanze di Option, potrebbe essere necessario aggiungere altre istanze di ScoredProperty o eliminare alcuni degli elementi in comune per creare un'istanza option appropriata.

Si noti che lo schema di stampa richiede che il set di istanze ScoredProperty, le relative posizioni e i valori assegnati a ogni ScoredProperty in un'opzione rimangano costanti, indipendentemente dalla configurazione. L'intero concetto dello schema di stampa si basa sulle istanze di Option con istanze fisse, identificabili di Proprietà e ScoredProperty condivise tra molti dispositivi.

Specifica dello schema di stampa