OSPAM(1) Reference OSPAM(1)

ospam - ویرایشگر جریان نشانه‌گذاری SGML/XML

ospam [-CeghilprRvx] [-alinktype] [-Aarchitecture] [-bbctf] [-ccatalog_file] [-Ddirectory] [-ffile] [-mmarkup_option] [-oentity_name] [-wwarning_type] [sysid...]

دستور ospam (مخفف OpenSP Add Markup) یک ویرایشگر جریان نشانه‌گذاری SGML است که با استفاده از تجزیه‌کننده OpenSP پیاده‌سازی شده است. ospam سند SGML موجود در sysid را تجزیه کرده و بخشی از موجودیت سند را که حاوی نمونه سند (document instance) است به خروجی استاندارد کپی می‌کند و نشانه‌گذاری‌ها را مطابق با آنچه توسط گزینه‌های -m مشخص شده است اضافه کرده یا تغییر می‌دهد. گزینه -p می‌تواند برای گنجاندن اعلان SGML و پیش‌گفتار (prolog) در خروجی استفاده شود. گزینه -o می‌تواند برای خروجی دادن سایر موجودیت‌ها استفاده شود. گزینه -x می‌تواند برای گسترش ارجاعات موجودیت به کار رود.

بخشی از یک سیستم SGML منطبق با استاندارد بین‌المللی ISO 8879 -- زبان نشانه‌گذاری تعمیم‌یافته استاندارد (SGML). یک سیستم تسهیلات گسترش‌یافته SGML منطبق با ضمیمه A از استاندارد بین‌المللی ISO/IEC 10744 -- زبان ساختاریافته فرارسانه/مبتنی بر زمان.

گزینه‌های زیر در دسترس هستند:

-aname, --activate=name

فعال کردن doctype یا linktype با نام name.

-Aarchitecture, --architecture=architecture

تجزیه نسبت به معماری architecture.

-bbctf, --bctf=bctf

استفاده از bctf با نام bctf برای خروجی.

-csysid, --catalog=sysid

استفاده از فایل ورودی کاتالوگ sysid.

-C, --catalogs

این گزینه همان تأثیری را دارد که در onsgmls(1) آمده است.

-Ddirectory, --directory=directory

دایرکتوری را برای فایل‌های مشخص‌شده در شناسه‌های سیستمی جستجو می‌کند. این گزینه همان تأثیری را دارد که در onsgmls(1) آمده است.

-e, --open-entities

توصیف موجودیت‌های باز در پیام‌های خطا.

-Emax_errors, --max-errors=max_errors

خروج پس از مواجهه با max_errors خطا.

-ffile, --error-file=file

هدایت خطاها به file. این گزینه عمدتاً با پوسته‌هایی مفید است که از هدایت stderr پشتیبانی نمی‌کنند.

-h, --hoist-omitted-tags

بالا بردن برچسب‌های حذف‌شده از ابتدای موجودیت‌های داخلی. اگر متن ابتدای یک موجودیت داخلی باعث شود یک برچسب به طور ضمنی در نظر گرفته شود، معمولاً آن برچسب در همان موجودیت داخلی در نظر گرفته می‌شود؛ این گزینه به جای آن باعث می‌شود که برچسب در موجودیتی که به موجودیت داخلی ارجاع داده است در نظر گرفته شود. این گزینه در ترکیب با -momittag یا -x -x تفاوت ایجاد می‌کند.

--help

نمایش متن راهنما و خروج.

-iname, --include=name

این گزینه همان تأثیری را دارد که در onsgmls(1) آمده است.

-l, --lowercase

ترجیح حروف کوچک. نام‌های اضافه‌شده‌ای که مشمول جایگزینی حروف بزرگ بودند به حروف کوچک تبدیل می‌شوند.

-mmarkup_option, --markup-option=markup_option

تغییر نشانه‌گذاری در خروجی با توجه به مقدار markup_option به صورت زیر:

omittag افزودن برچسب‌هایی که با استفاده از کمینه‌سازی برچسب‌های حذف‌شده جا افتاده‌اند. برچسب‌های پایانی که به دلیل داشتن محتوای اعلان‌شده EMPTY یا ارجاع محتوای صریح حذف شده‌اند اضافه نخواهند شد.

shortref جایگزینی ارجاعات کوتاه با ارجاعات موجودیت نام‌گذاری‌شده.

net تبدیل برچسب‌های پایانی تهی (null end-tags) به برچسب‌های پایانی کمینه‌نشده، و تبدیل برچسب‌های شروع فعال‌کننده net به برچسب‌های شروع کمینه‌نشده.

emptytag تبدیل برچسب‌های خالی به برچسب‌های کمینه‌نشده.

unclosed تبدیل برچسب‌های بسته‌نشده به برچسب‌های کمینه‌نشده.

attname افزودن نام‌های ویژگی حذف‌شده و viها.

attvalue افزودن جداکننده‌های لفظی حذف‌شده از مقادیر ویژگی‌ها.

attspec افزودن مشخصات ویژگی حذف‌شده.

current افزودن مشخصات ویژگی حذف‌شده برای ویژگی‌های جاری. این گزینه به طور ضمنی توسط گزینه attspec انتخاب می‌شود.

shorttag معادل ترکیبی از گزینه‌های net، emptytag، unclosed، attname، attvalue و attspec.

rank افزودن پسوندهای رتبه (rank) حذف‌شده.

reserved قرار دادن نام‌های رزروشده با حروف بزرگ.

ms حذف اعلان‌های بخش نشانه‌گذاری‌شده که وضعیت مؤثر آن‌ها IGNORE است، و جایگزینی هر اعلان بخش نشانه‌گذاری‌شده که وضعیت مؤثر آن INCLUDE است با بخش نشانه‌گذاری‌شده آن. در نمونه سند، کامنت‌های خالی قبل یا بعد از اعلان بخش نشانه‌گذاری‌شده اضافه می‌شود تا اطمینان حاصل شود که انتهای رکوردهای نادیده‌گرفته‌شده، نادیده باقی می‌مانند.

استفاده همزمان از چند گزینه -m مجاز است.

-n, --error-numbers

نمایش شماره خطاها در پیام‌های خطا.

-oname, --output-entity=name

خروجی دادن نام موجودیت عمومی به جای موجودیت سند. خروجی مطابق با نخستین باری خواهد بود که به آن موجودیت در محتوا ارجاع داده می‌شود.

-p, --output-prolog

خروجی دادن بخشی از موجودیت سند که حاوی اعلان SGML (اگر صریحاً در موجودیت سند وجود داشته باشد) و پیش‌گفتار (prolog) است، قبل از هر چیز دیگری. اگر این گزینه دو بار یا بیشتر مشخص شود، تمام ارجاعات موجودیت که بین اعلان‌ها در پیش‌گفتار رخ می‌دهند گسترش می‌یابند؛ این شامل ارجاع ضمنی به موجودیت حاوی زیرمجموعه خارجی DTD نیز می‌شود (در صورت وجود). توجه داشته باشید که اگر اعلان SGML توسط یک ورودی SGMLDECL در کاتالوگ مشخص شده باشد، گنجانده نخواهد شد.

-r, --raw

هنگام خروجی دادن موجودیت، هیچ تبدیلی روی RSها و REها انجام ندهید. معمولاً این موجودیت دارای صفت مدیریت ذخیره‌سازی records=asis خواهد بود.

-R, --restricted

این گزینه همان تأثیری را دارد که در onsgmls(1) آمده است.

-v, --version

چاپ شماره نسخه.

-wtype, --warning=type

کنترل هشدارها و خطاها با توجه به نوع. این گزینه همان تأثیری را دارد که در onsgmls(1) آمده است.

-x, --expand-references

گسترش ارجاعات به موجودیت‌هایی که تغییر یافته‌اند. اگر این گزینه دو بار یا بیشتر مشخص شود، تمام ارجاعات به موجودیت‌های حاوی برچسب گسترش خواهند یافت.

برچسب‌های حذف‌شده در نقطه‌ای اضافه می‌شوند که توسط تجزیه‌کننده SGML استنباط می‌شوند (مگر مواردی که با گزینه -h اصلاح شده باشند)؛ این نقطه اغلب دقیقاً همان جایی نیست که انتظار می‌رود.

بزرگی و کوچکی حروف در جداکننده‌های عمومی حفظ نمی‌شود.

اگر از یک ساختار عینی متغیر استفاده شود که در آن جداکننده‌هایی در نشانه‌گذاری‌های اضافه‌شونده وجود داشته باشند که پیشوندی دارند که پسوند سرهٔ جداکننده دیگری است، ممکن است نتایج نادرستی حاصل شود.

اگر یک ارجاع موجودیت در یک مقدار پیش‌فرض از موجودیت پیش‌فرض استفاده کند و سپس موجودیتی با آن نام تعریف شود و آن مقدار پیش‌فرض به نمونه سند اضافه گردد، ممکن است سند حاصل با سند اصلی معادل نباشد. در صورت تحقق دو شرط اول، دستور ospam یک هشدار صادر می‌کند.

onsgmls(1), ospent(1), onsgmlnorm(1), osx(1)

James Clark

نویسنده.

Ian Castle <ian.castle@openjade.org>

نویسنده.

November 2002 OpenJade