Opsi Berparameter versus Opsi Nonparameter

Topik ini tidak terkini. Untuk informasi terbaru, lihat Spesifikasi Skema Cetak.

Penyedia PrintCapabilities dan PrintTicket harus menangani instans Opsi berparameter dengan benar selama proses validasi PrintTicket. Seperti yang dibahas dalam Definisi Opsi , satu langkah yang dilakukan dalam validasi PrintTicket adalah menemukan Opsi dalam dokumen PrintCapabilities perangkat saat ini (Opsi kandidat) yang paling cocok dengan Opsi yang ditentukan dalam PrintTicket (Opsi referensi). Ketika satu atau kedua instans Opsi diparameterkan, ada tiga kemungkinan kasus yang harus ditangani oleh proses penilaian yang ditentukan driver perangkat: kasus di mana kedua instans Opsi diparameterkan, dan dua kasus di mana satu Opsi diparameterkan dan yang lainnya tidak. Dalam kasus berikut diasumsikan bahwa ada korespondensi antara instans ScoredProperty yang diparameterkan dalam Opsi PrintTicket dan ScoredProperty tertentu dalam Opsi PrintCapabilities. Jika tidak ada korespondensi, proses penilaian dapat memperlakukan instans ScoredProperty ini dengan cara yang sama seperti memperlakukan instans ScoredProperty noncorresponding lainnya.

Kasus 1 - Opsi Dokumen PrintTicket dan PrintCapabilities Berparameter

Dalam hal ini, Opsi referensi (di PrintTicket) dan Opsi kandidat (dalam dokumen PrintCapabilities) diparameterkan. Akses instans ParameterDef yang dirujuk oleh Opsi kandidat (keduanya dalam dokumen PrintCapabilities), dan tentukan apakah nilai ParameterInit yang ditentukan dalam PrintTicket termasuk dalam rentang yang diizinkan oleh instans ParameterDef. Jika demikian, pertimbangkan ScoredProperty ini sebagai kecocokan. Jika tidak, ScoredProperty ini tidak cocok.

Kasus 2 - Opsi PrintTicket Berparameter, Opsi Dokumen PrintCapabilities Nonparameterized

Dalam hal ini, PrintTicket berisi Fitur dengan Opsi berparameter, sementara Fitur yang sesuai dalam dokumen PrintCapabilities berisi setidaknya satu Opsi yang tidak diparameterkan. Bahkan jika dokumen PrintCapabilities juga berisi instans Opsi lain yang diparameterkan, proses penilaian harus diterapkan ke setiap Opsi, karena tujuannya adalah mengidentifikasi Opsi pencocokan terbaik. Klien harus dapat membandingkan kandidat Opsi yang tidak diparameterkan dengan Opsi referensi yang diparameterkan.

Karena Opsi berparameter muncul di PrintTicket, instans ParameterInit juga harus ada seperti yang diilustrasikan dalam kasus sebelumnya. Proses penilaian hanya dapat mengganti instans ParameterRef apa pun di Opsi parameter PrintTicket dengan Nilai yang ditentukan oleh instans ParameterInit PrintTicket. Ini secara efektif mengonversi Opsi berparameter menjadi opsi yang tidak diparameterkan. Pada titik ini, proses pencocokan konvensional dapat digunakan.

Kasus 3 - Opsi PrintTicket Nonparameter, Opsi Dokumen PrintCapabilities Berparameter

Dalam hal ini, opsi referensi di PrintTicket tidak diparameterkan, sementara Opsi kandidat dalam dokumen PrintCapabilities diparameterkan. Akses instans ParameterDef dalam dokumen PrintCapabilities yang direferensikan oleh instans ParameterRef Opsi kandidat di PrintTicket, dan tentukan apakah Nilai yang ditentukan dalam opsi referensi untuk ScoredProperty yang sesuai termasuk dalam rentang yang diizinkan oleh instans ParameterDef. Jika demikian, pertimbangkan ScoredProperty ini sebagai kecocokan. Jika tidak, ScoredProperty ini tidak cocok.

Harus ditekankan bahwa Anda membuat penentuan seberapa dekat dua instans Opsi cocok dengan angka (dan signifikansi) instans ScoredProperty yang cocok, terlepas dari apakah instans ScoredProperty berisi instans Nilai eksplisit atau instans ParameterRef. Dimungkinkan bagi Opsi kandidat untuk menjadi kecocokan terbaik, meskipun berisi beberapa instans Properti yang tidak cocok dengan opsi referensi, atau yang tidak memiliki Properti yang sesuai dalam Opsi referensi.

Spesifikasi Skema Cetak