کلاینت YAZ
را وادار
میکند تا
تخلیه
هگزادسیمال
(hex dump) بستههای
ارسالی و
دریافتی را
در خروجی
استاندارد
چاپ کند.
کلاینت YAZ
دستورهای
زیر را
میپذیرد.
از
کلاینت YAZ
خارج
میشود.
نام(های)
پایگاه(های)
داده برای
جستجو را
تعیین
میکند. یک
یا چند
پایگاه
داده را
میتوان با
فاصله از هم
مشخص کرد.
این دستور
بر پایگاه
داده
مشخصشده
در zurl اولویت
دارد.
با ارسال
یک Present Request،
رکوردها را
از موقعیت
شروع
تعیینشده
توسط start و به
تعداد
رکوردهای
ارائهشده
با number، از
مجموعهنتایج
resultset دریافت
میکند. اگر
start داده
نشود،
کلاینت
رکوردها را
از موقعیت
آخرین
رکورد
دریافتشده
بهعلاوه ۱
واکشی
خواهد کرد.
اگر number داده
نشود، در هر
بار یک
رکورد
واکشی
میشود. اگر
resultset داده
نشود، از
آخرین
مجموعهنتایج
دریافتشده
استفاده
خواهد شد.
نمایه
پایگاه
داده را
برای یک
اصطلاح
درون یک
مجموعهنتایج
پویش
میکند. این
دستور شبیه
به دستور scan
است اما یک
مجموعهنتایج
را به عنوان
آرگومان
نخست خود
میگیرد.
موقعیت
ترجیحی را
برای scan تنظیم
میکند. این
مقدار در
پویش بعدی
استفاده
میشود.
بهطور
پیشفرض،
موقعیت ۱
است.
تعداد
مدخلهایی
را که باید
توسط scan
بازگردانده
شوند تنظیم
میکند.
تعداد
پیشفرض
مدخلها ۲۰
است.
اندازه
گام (step-size) را
برای scan تنظیم
میکند. این
مقدار در
پویش بعدی
ارسالشده
به مقصد (target)
استفاده
میشود.
بهطور
پیشفرض
اندازه گام
۰ است.
مشابه sort
است اما
مجموعهنتایج
مرتبشده
را در یک
مجموعهنتایج
جدید ذخیره
میکند.
رشتههای
احراز هویت
ارسالی به
سرور را
پیکربندی
میکند.
دستور auth
میتواند
صفر، ۱، ۲ یا
۳ آرگومان
به همراه
داشته باشد.
اگر هیچ (۰)
آرگومانی
داده نشود،
هیچ رشته
احراز
هویتی
ارسال
نمیشود.
اگر یک
آرگومان
داده شود،
از احراز
هویت Z39.50 v2 OpenStyle
استفاده
میشود. یک
قرارداد
متداول
برای رشته
auth1 این است
که نام
کاربری و
گذرواژه با
یک اسلش از
هم جدا
شوند،
مانند myusername/mysecret.
اگر دو یا
چند
آرگومان
داده شود
احراز هویت
Z39.50 v3 به کار
گرفته
میشود که
در این حالت
آرگومان
نخست
کاربر،
آرگومان
دوم گروه و
آرگومان
سوم
گذرواژه
است. اگر
تنها دو
آرگومان
داده شود،
گروه خالی
فرض
میشود.
همانند
سایر
دستورها در
yaz-client،
آرگومانها
با
فاصلههای
سفید (whitespace) از
یکدیگر جدا
میشوند.
برای درج یک
نویسه
بهصورت
عینی (verbatim)
میتوان از
یک نویسه
بکاسلش
استفاده
کرد. برای
نمونه، auth myuser a\ b
یک دستور auth
با دو
آرگومان
است که در آن
کاربر myuser و
گذرواژه a b
است.
رشته
احراز هویت
برای
نخستین بار
هنگام صدور
دستور open و
ارسال Z39.50 Initialize Request
به سرور
فرستاده
میشود،
بنابراین
این دستور
باید پیش از
open استفاده
شود تا
اثرگذار
باشد.
روش (method) و
نسخه
وبسرویس
را انتخاب
میکند.
باید یکی از
post، get، soap
(پیشفرض) یا
solr باشد. نسخه
برای SRU باید
1.1،
1.2 یا
2.0 باشد.
نسخههای
دیگر برای
مقاصد
آزمایشی
مجاز هستند
(مذاکره بر
سر نسخه با
سرور SRU). این
نسخه در حال
حاضر برای
وبسرویسهای
Solr استفاده
نمیشود. list_all
این
دستور
وضعیت و
مقادیر
مربوط به
بسیاری از
تنظیمات را
نمایش
میدهد.
lslb n
حد
آستانهای
را تعیین
میکند که
بر اساس آن
نباید هیچ
رکوردی به
همراه
نتیجهٔ
جستجو
بازگردانده
شود. برای
جزئیات
بیشتر به Z39.50 standard
on set bounds[4] مراجعه
کنید.
ssub n
حد
آستانهای
را تعیین
میکند که
بر اساس آن
تمام
رکوردها
باید به
همراه
نتیجهٔ
جستجو
بازگردانده
شوند. برای
جزئیات
بیشتر به Z39.50 standard
on set bounds[4] مراجعه
کنید.
mspn n
تعداد
رکوردهایی
را تعیین
میکند که
در صورت
قرار گرفتن
تعداد
رکوردهای
مجموعهٔ
نتایج بین
مقادیر lslb و ssub
باید
بازگردانده
شوند. برای
جزئیات
بیشتر به Z39.50 standard
on set bounds[4] مراجعه
کنید.
status
مقادیر
lslb، ssub و mspn را
نمایش
میدهد.
setname
مجموعهنتایج
نامگذاریشده
را فعال و
غیرفعال
میکند.
مقدار
پیشفرض on
است.
cancel
یک Trigger Resource Control Request
به هدف
ارسال
میکند.
facets spec
وجوه (facets)
درخواستی
برای
استفاده در
جستجو را
مشخص
میکند.
نشانهگذاری
آن در ??? مشخص
شده است.
format oid
ساختار
نحوی
انتقال (transfer syntax)
ترجیحی را
برای
رکوردهای
دریافتشده
تعیین
میکند. yaz-client از
تمام
ساختارهای
نحوی
رکوردی که
در حال حاضر
ثبت
شدهاند
پشتیبانی
میکند.
برای
جزئیات
بیشتر به Z39.50 Record
Syntax Identifiers[5] مراجعه
کنید.
ساختارهای
نحوی
متداول
رکورد شامل
usmarc، sutrs و xml
هستند.
elements e
نام
مجموعه
عناصر را
برای
رکوردها
تعیین
میکند.
بسیاری از
هدفها از
مجموعههای
عناصر B (برای
مختصر) و F
(برای کامل)
پشتیبانی
میکنند.
close
یک Z39.50 Close APDU
ارسال کرده
و اتصال با
طرف مقابل
را
میبندد.
querytype type
نوع
پرسوجوی
مورد
استفاده
توسط دستور find
را تعیین
میکند.
موارد زیر
پشتیبانی
میشوند: prefix
برای Prefix Query Notation
(پرسوجوی
Type-1)؛ ccl برای
جستجوی CCL
(پرسوجوی
Type-2)، cql برای CQL
(جستجوی Type-104 با
CQL OID)، ccl2rpn برای
تبدیل CCL به RPN
(پرسوجوی
Type-1)، cql2rpn برای
تبدیل CQL به RPN
(پرسوجوی
Type-1).
attributeset set
شناسه OID
مجموعه
مشخصهها (attribute
set) را برای
پرسوجوهای
پیشوندی (RPN، Type-1)
تنظیم
میکند.
refid id
شناسه
مرجع (reference ID) را
برای
درخواستهای
Z39.50 تنظیم
میکند.
itemorder type no
یک Item Order Request را
با استفاده
از ILL External ارسال
میکند. type یا
1 یا 2 است که
به ترتیب
متناظر با ILL-Profile
1 و 2 است. no
موقعیت
رکورد مورد
نظر برای
سفارش در
مجموعه
نتایج است.
update action recid doc
یک Item Update Request
ارسال
میکند.
آرگومان action
باید نوع
عملیات
باشد: یکی از
insert، replace، delete و update.
آرگومان
دوم، recid،
شناسهٔ
رکورد است
(هر رشتهای).
آرگومان
سوم که
اختیاری
است، سند
رکورد برای
درخواست
میباشد.
اگر doc با "<"
آغاز شود،
نویسههای
بعدی به
عنوان نام
فایلی شامل
رکوردهای
مورد نظر
برای
بهروزرسانی
در نظر
گرفته
میشوند. در
غیر این
صورت doc به
عنوان خود
سند تلقی
میشود. سند
همچنین
میتواند
درون گیومه
دوتایی
قرار گیرد.
اگر doc حذف
شود، آخرین
رکورد
دریافتشده
(به عنوان
بخشی از
پاسخ present یا
پاسخ
جستجوی piggyback
شده) برای
بهروزرسانی
استفاده
میشود.
source filename
فهرستی
از دستورها
را از فایل
filename اجرا
میکند،
درست مانند
'source' در اکثر
پوستههای
یونیکس. یک
نقطه منفرد (.)
نیز
میتواند
به عنوان
جایگزین
استفاده
شود.
! args
دستور args
را در
زیرپوسته
با استفاده
از
فراخوانی system
اجرا
میکند.
push_command command
دستور push_command
یک دستور
دیگر را به
عنوان
آرگومان
دریافت
میکند. سپس
آن دستور به
اطلاعات
تاریخچه
اضافه
میشود (تا
بعداً
بتوانید آن
را بازیابی
کنید). خود
دستور اجرا
نمیشود.
این دستور
تنها زمانی
کار میکند
که GNU readline/history فعال
باشد.
set_apdufile filename
تعیین
میکند که APDU
باید در
فایل filename ثبت
شود. روش
دیگر برای
ثبت
گزارشهای APDU
استفاده از
گزینه خط
فرمان -a است.
set_auto_reconnect flag
مشخص
میکند که
آیا
کارخواه YAZ در
صورت قطع
ارتباط
توسط هدف،
بهطور
خودکار
دوباره
متصل شود یا
خیر (تنها
برای Z39.50).
flag باید on یا
off باشد.
set_auto_wait flag
مشخص
میکند که
آیا
کارخواه YAZ
باید پس از
یک درخواست
منتظر
بستههای
پروتکل
پاسخ بماند
یا خیر.
بهطور
پیشفرض
کارخواه YAZ
بلافاصله
پس از صدور
یک دستور (find، show)
منتظر
بستههای
پاسخ
میماند (on).
اگر از off
استفاده
شود،
کارخواه YAZ
تلاشی برای
دریافت
خودکار
بستهها
نمیکند.
این
بستهها
باید در
زمان
استفاده از
دستور wait_response
بهصورت
دستی
دریافت
شوند.
flag باید on یا
off باشد.
set_marcdump filename
تعیین
میکند که
تمام
رکوردهای
دریافتشده
باید به
انتهای
فایل
filename
پیوست شوند.
این دستور
عملکردی
مشابه با
گزینه
-m دارد.
schema
schemaid
طرحواره
(schema) را برای
بازیابی
تعیین
میکند.
طرحواره
برای Z39.50
میتواند
به صورت یک OID
مشخص شود.
برای SRU،
طرحواره
یک رشته
ساده URI است.
charset negotiationcharset [displaycharset]
[[marccharset]]
مجموعه
نویسه
(کدگذاری) را
برای
مذاکره Z39.50 /
کدگذاری SRU
و/یا مجموعه
نویسه
خروجی
(ترمینال)
تعیین
میکند.
negotiationcharset نام
مجموعه
نویسهای
است که باید
با کارساز
مذاکره شود.
نام ویژه -
برای negotiationcharset
مشخص
میکند که
هیچ
مجموعه
نویسهای
نباید
مذاکره
شود.
اگر displaycharset
داده شود،
نام مجموعه
نویسه
خروجی (روی
ترمینالی
که YAZ client در حال
اجرا است) را
مشخص
میکند.
برای
غیرفعال
کردن تبدیل
نویسهها
به کدگذاری
خروجی،
میتوان از
نام ویژه -
(خط پیوند)
استفاده
کرد. اگر نام
ویژه auto داده
شود، YAZ client
رشتهها را
به کدگذاری
ترمینال
همانگونه
که با
فراخوانی
nl_langinfo
بازگردانده
شده، تبدیل
میکند.
اگر marccharset
داده شود،
نام مجموعه
نویسه
رکوردهای MARC
دریافتشده
از کارساز
را مشخص
میکند.
همچنین
دستور marccharset را
ببینید.
نکته
از آنجا که
مذاکره
مجموعه
نویسه در Initialize Request
مربوط به Z39.50
اعمال
میشود،
باید این
دستور را
پیش از
استفاده از
دستور open اجرا
کنید.
نکته
رکوردهای MARC
تحت پوشش
مذاکره
مجموعه
نویسه Z39.50
قرار
نمیگیرند،
به همین
دلیل
مجموعه
نویسه
جداگانهای
وجود دارد
که برای
انجام
تبدیل(های)
معنادار
باید مشخص
باشد.
negcharset charset
مجموعه
نویسه را
برای
مذاکره (Z39.50)
تعیین
میکند. این
آرگومان
مانند
آرگومان
دوم دستور charset
است.
displaycharset charset
مجموعه
نویسه را
برای خروجی
(نمایش)
تعیین
میکند. این
آرگومان
مانند
آرگومان
دوم دستور charset
است.
marccharset charset
مجموعه
نویسه را
برای
رکوردهای MARC
دریافتشده
تعیین
میکند تا YAZ client
بتواند
آنها را در
مجموعهنویسهای
مناسب برای
نمایشگر
شما نشان
دهد. دستور charset
را ببینید.
اگر auto داده
شود، YAZ فرض
خواهد کرد
که MARC21/USMARC از MARC8/UTF8 و
سایر
گونههای MARC
از ISO-8859-1
استفاده
میکنند.
آرگومان charset
مانند
آرگومان
سوم برای
دستور charset
است.
querycharset charset
مجموعه
نویسه را
برای
عبارتهای
پرسوجو در
پرسوجوهای
RPN مربوط به Z39.50 و
درخواستهای
Scan مربوط به Z39.50
(در termListAndStartPoint)
تعیین
میکند. این
یک تبدیل
کاملاً سمت
کلاینت است
که از displayCharset به queryCharset
تبدیل
میکند.
set_cclfile filename
مشخص
میکند که
فیلدهای CCL
باید از
فایل filename
خوانده
شوند. این
دستور همان
عملکرد
گزینه -c را
دارد.
set_cqlfile filename
مشخص
میکند که
فیلدهای CQL
باید از
فایل filename
خوانده
شوند. این
دستور همان
عملکرد
گزینه -q را
دارد.
register_oid name class OID
این
دستور به
شما امکان
میدهد
شناسه شیء (OID)
اختصاصی
خود را ثبت
کنید - به
طوری که
بهجای
وارد کردن
یک عبارت
طولانی
نقطهدار،
بتوانید از
یک نام
کوتاه
استفاده
کنید. name نام
شما برای OID
است، class کلاس
مربوطه است
و OID همان OID
خام در
نمادگذاری
نقطهای
است. کلاس
یکی از
موارد زیر
است: appctx, absyn, attet, transyn, diagset, recsyn,
resform, accform, extserv, userinfo, elemspec, varset, schema, tagset,
general. اگر تردید
دارید از
کلاس general
استفاده
کنید.
register_tab command string
این
دستور یک
رشته برای
تکمیل
خودکار با TAB
برای دستور
دادهشده
ثبت
میکند.
sleep seconds
این
دستور باعث
میشود YAZ client به
مدت
ثانیههای
تعیینشده
به خواب
برود (بیکار
بماند).
wait_response [ number]
این
دستور باعث
میشود YAZ client
برای تعداد
مشخصی از
بستههای
پاسخ از هدف
منتظر
بماند. اگر
number حذف شود،
مقدار ۱ فرض
میشود.
این دستور
بهندرت
استفاده
میشود و
تنها زمانی
مفید است که
دستور set_auto_wait
روی off تنظیم
شده باشد.
xmles OID doc
یک
درخواست XML Extended Services
را با
استفاده از OID
و doc دادهشده
ارسال
میکند.
zversion ver
این
دستور نسخه
Z39.50 را برای
مذاکره
تنظیم
میکند.
باید پیش از
open استفاده
شود. بهطور
پیشفرض از 3
(نسخه ۳)
استفاده
میشود.
options op1 op2..
این
دستور
گزینههای
Z39.50 را برای
مذاکره
تنظیم
میکند.
باید پیش از
open استفاده
شود.
گزینههای
زیر
پشتیبانی
میشوند: search, present,
delSet, resourceReport, triggerResourceCtrl, resourceCtrl, accessCtrl, scan,
sort, extendedServices, level_1Segmentation, level_2Segmentation,
concurrentOperations, namedResultSets, encapsulation, resultCount,
negotiationModel, duplicationDetection, queryType104, pQESCorrection,
stringSchema.
سادهترین
مثال از یک
پرسوجوی
پیشوندی (Prefix Query)
چیزی شبیه
به این
خواهد بود:
یا
در این
پرسوجوها،
هیچ
مشخصهای (attribute)
تعیین نشده
است. این امر
تعیین
فیلدهای
مورد جستجو
را به عهده
سرور
میگذارد،
اما بیشتر
سرورها در
تمام
فیلدها
جستجو
خواهند کرد.
با این حال،
برخی از
سرورها از
این قابلیت
پشتیبانی
نمیکنند و
نیاز دارند
که برخی
مشخصهها
تعریف شوند.
برای
افزودن یک
مشخصه
میتوانید
این کار را
انجام
دهید:
که در آن
در فیلد
عنوان (title)
جستجو
میکنیم،
زیرا use(1)
برابر با title(4)
است. اگر
بخواهیم در
فیلد
نویسنده و
در فیلد
عنوان، و در
فیلد عنوان
با استفاده
از برش از
راست (right truncation)
جستجو
کنیم،
میتواند
چیزی شبیه
به این
باشد:
f @and @attr 1=1003 knuth @attr 1=4 @attr 5=1 computer
در نهایت،
استفاده از
ترکیبی از
مشخصههای
Bib-1 و GILS
میتواند
شبیه به این
باشد:
f @attrset Bib-1 @and @attr GILS 1=2008 Washington @attr 1=21 weather