| ONSGMLS(1) | Reference | ONSGMLS(1) |
نام (NAME)
onsgmls - یک تجزیهکننده و اعتبارسنج SGML/XML
خلاصه دستور (SYNOPSIS)
onsgmls [-BCdeghlnpRrsuvx] [-alinktype] [-Aarchitecture] [-bbctf] [-csysid...] [-Ddirectory] [-Emax_errors] [-ffile] [-iname] [-ooutput_option...] [-tfile] [-wwarning_type...] [sysid...]
توضیحات (DESCRIPTION)
دستور onsgmls سند SGML را که موجودیت سند (document entity) آن توسط شناسههای سیستمی
مشخص شده است تجزیه و اعتبارسنجی میکند و یک نمایش متنی ساده از «مجموعه اطلاعات ساختار عناصر» (Element Structure Information Set یا ESIS) آن را در خروجی استاندارد چاپ میکند. (این همان مجموعه اطلاعاتی است که یک برنامه کاربردی منطبق بر SGML و تحت کنترل ساختار باید بر اساس آن عمل کند.) اگر بیش از یک شناسه سیستمی مشخص شود، موجودیتهای مربوطه به هم متصل میشوند تا موجودیت سند را تشکیل دهند. بنابراین ممکن است موجودیت سند در چندین فایل پخش شده باشد؛ برای مثال، اعلان SGML، پیشدرآمد (prolog) و مجموعه نمونه سند هر کدام میتوانند در فایلی جداگانه باشند. اگر هیچ شناسه سیستمی مشخص نشود، onsgmls موجودیت سند را از ورودی استاندارد خواهد خواند. از شناسه سیستمی - در خط فرمان میتوان برای ارجاع به ورودی استاندارد استفاده کرد. (به طور معمول در یک شناسه سیستمی، از <OSFD>0 برای اشاره به ورودی استاندارد استفاده میشود.)
بخشی از یک سیستم SGML منطبق بر استاندارد بینالمللی ISO 8879 -- زبان نشانهگذاری تعمیمیافته استاندارد (SGML). یک سیستم امکانات گسترشیافته SGML منطبق بر پیوست A از استاندارد بینالمللی ISO/IEC 10744 -- زبان ساختاردهی ابررسانهای/مبتنی بر زمان (HyTime).
گزینههای زیر در دسترس هستند:
-alinktype, --activate=linktype
-Aarchitecture, --architecture=architecture
-bbctf, --bctf=bctf, -bencoding, --encoding=encoding
-B, --batch_mode
مشخصشده در خط فرمان را بهطور جداگانه تجزیه میکند، به جای اینکه آنها را به هم پیوند دهد. این گزینه عمدتاً همراه با -s مفید است.
اگر -tfilename نیز مشخص شده باشد، نام فایل تعیینشده به عنوان پیشوند به sysid اضافه میشود تا نام فایل نتیجه RAST برای هر sysid ساخته شود.
-csysid, --catalog=sysid
-C, --catalogs
به جای موجودیت سند، فایلهای کاتالوگ را مشخص میکنند. موجودیت سند توسط اولین مدخل DOCUMENT در فایلهای کاتالوگ مشخص میشود.
-Ddirectory, --directory=directory
-e, --open-entities
-Emax_errors, --max-errors=max_errors
-ffile, --error-file=file
-g, --open-elements
-h, --help
-iname, --include=name
<!ENTITY % name "INCLUDE">
در ابتدای زیرمجموعه اعلان نوع سند در موجودیت سند SGML قرار گرفته است. از آنجا که تعاریف تکراری یک موجودیت نادیده گرفته میشوند، این تعریف بر هر تعریف دیگری از این موجودیت در اعلان نوع سند اولویت خواهد داشت. استفاده از چندین گزینه -i مجاز است. اگر اعلان SGML نام رزروشده INCLUDE را جایگزین کند، نام رزروشده جدید متن جایگزین موجودیت خواهد بود. معمولاً اعلان نوع سند شامل
<!ENTITY % name "IGNORE">
بوده و از %name; در مشخصات کلیدواژه وضعیت یک اعلان بخش نشانهگذاریشده استفاده میکند. در این حالت، اثر این گزینه این خواهد بود که بخش نشانهگذاریشده نادیده گرفته نشود.
-n, --error-numbers
-ooutput_option, --option=output_option
entity تعاریف همه موجودیتهای عمومی را خروجی میدهد، نه فقط برای موجودیتهای داده یا subdoc که در یک صفت ENTITY یا ENTITIES ارجاع داده شده یا نامگذاری شدهاند.
id صفتهایی را که مقدار اعلانشده آنها ID است متمایز میکند.
line دستورات L را خروجی میدهد که شماره خط فعلی و نام فایل را نشان میدهند.
included یک دستور i برای زیرعناصر گنجاندهشده (included) خروجی میدهد.
empty یک دستور e برای عناصری که مجاز به داشتن تگ پایانی نیستند خروجی میدهد، یعنی عناصری که محتوای اعلانشده آنها خالی است یا دارای صفت ارجاع به محتوا هستند.
notation-sysid در صورتی که امکان تولید شناسه سیستمی برای آن نشانهگذاری (notation) وجود داشته باشد، یک دستور f پیش از دستور N خروجی میدهد.
nonsgml در حالت مجموعه نویسههای ثابت، دنبالههای گریز \% را برای نویسههای داده غیر SGML خروجی میدهد. نویسههای داده غیر SGML میتوانند ناشی از ارجاعات نویسهای عددی باشند.
data-attribute نام نشانهگذاری و صفتها را برای صفتهای DATA خروجی میدهد. در غیر این صورت، با صفتهای DATA مانند صفتهای CDATA برخورد میشود. برای جزئیات بیشتر به بند 4.4.3 از پیوست K استاندارد ISO 8879 مراجعه کنید.
comment یک دستور _ حاوی محتوای یک کامنت خروجی میدهد. وجود چندین کامنت در یک اعلان کامنت منفرد به چندین دستور _ متمایز منجر میشود، دقیقاً مانند اینکه هر کامنت در یک اعلان کامنت جداگانه قرار داشته باشد.
omitted یک دستور o پیش از دستوری که توسط سند ورودی استنباط شده اما از نشانهگذاری واقعی حذف شده است، خروجی میدهد. این مورد در حال حاضر بر دستورات ( و ) و A تأثیر میگذارد.
tagomit مشابه omitted، اما فقط برای دستورات ( و ).
attromit مشابه omitted، اما فقط برای دستورات A.
استفاده از چندین گزینه -o مجاز است.
-p, --only-prolog
-R, --restricted
-s, --no-output
-tfile, --rast-file=file
-v, --version
-wtype, --warning=type
xml درباره ساختارهایی که توسط XML مجاز نیستند هشدار میدهد.
mixed درباره مدلهای محتوای ترکیبی که #PCDATA را در هیچ کجایی مجاز نمیدانند هشدار میدهد.
sgmldecl درباره ساختارهای مشکوک گوناگون در اعلان SGML هشدار میدهد.
should درباره توصیههای گوناگون ارائهشده در ISO 8879 که سند با آنها مطابقت ندارد هشدار میدهد. (توصیهها با عبارت «should» بیان میشوند، بر خلاف الزامات که معمولاً با «shall» مشخص میگردند.)
default درباره ارجاعات با مقدار پیشفرض هشدار میدهد.
duplicate درباره اعلانهای تکراری موجودیت هشدار میدهد.
undefined درباره عناصر تعریفنشده هشدار میدهد: عناصری که در DTD استفاده شدهاند اما تعریف نشدهاند.
unclosed درباره تگهای شروع و پایان بدون بستهشدن هشدار میدهد.
empty درباره تگهای شروع و پایان خالی هشدار میدهد.
net درباره تگهای شروع فعالکننده net و تگهای پایانی تهی (null end-tags) هشدار میدهد.
min-tag درباره تگهای شروع و پایان کوتاهشده (minimized) هشدار میدهد. معادل ترکیبی از هشدارهای unclosed، empty و net است.
unused-map درباره نگاشتهای ارجاع کوتاه استفادهنشده هشدار میدهد: نگاشتهایی که با یک اعلان نگاشت ارجاع کوتاه تعریف شدهاند اما هرگز در اعلان استفاده از ارجاع کوتاه در DTD به کار نرفتهاند.
unused-param درباره موجودیتهای پارامتری که در یک DTD تعریف شده اما استفاده نشدهاند هشدار میدهد. موجودیتهای پارامتری داخلی استفادهنشدهای که متن آنها INCLUDE یا IGNORE است، این هشدار را دریافت نمیکنند.
notation-sysid درباره نشانهگذاریهایی که امکان تولید شناسه سیستمی برای آنها وجود ندارد هشدار میدهد.
all درباره شرایطی که معمولاً باید از آنها اجتناب شود (به نظر نویسنده) هشدار میدهد. معادل: mixed، should، default، undefined، sgmldecl، unused-map، unused-param، empty و unclosed.
immediate-recursion درباره عناصر با بازگشت فوری (immediately recursive) هشدار میدهد. برای جزئیات بیشتر به بند 2.2.5 از پیوست K استاندارد ISO 8879 مراجعه کنید.
fully-declared اگر نمونه سند به طور کامل اعلان نشده باشد هشدار میدهد. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین IMPLYDEF ATTLIST NO ELEMENT NO ENTITY NO NOTATION NO دارد. برای جزئیات بیشتر به بند 2.2.1 از پیوست K استاندارد ISO 8879 مراجعه کنید.
fully-tagged اگر نمونه سند به طور کامل تگگذاری نشده باشد هشدار میدهد. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین DATATAG NO، RANK NO، OMITTAG NO، SHORTTAG STARTTAG EMPTY NO و SHORTTAG ATTRIB OMITNAME NO دارد. برای جزئیات بیشتر به بند 2.2.2 از پیوست K استاندارد ISO 8879 مراجعه کنید.
amply-tagged, amply-tagged-recursive اگر نمونه سند به طور فراگیر تگگذاری نشده باشد (amply-tagged) هشدار میدهد. در صورت مشخص شدن amply-tagged-recursive، عناصر تعریفشده به صورت ضمنی میتوانند بازگشتی فوری باشند. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین DATATAG NO، RANK NO، OMITTAG NO، SHORTTAG ATTRIB OMITNAME NO و یکی از مقادیر IMPLYDEF ELEMENT ANYOTHER یا IMPLYDEF ELEMENT YES دارد. برای جزئیات بیشتر به بند 2.2.4 از پیوست K استاندارد ISO 8879 مراجعه کنید.
type-valid اگر نمونه سند از نظر نوع معتبر نباشد (type-valid) هشدار میدهد. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین VALIDITY YES دارد. برای جزئیات بیشتر به بند 2.2.3 از پیوست K استاندارد ISO 8879 مراجعه کنید.
entity-ref درباره ارجاع به موجودیتهای از پیش تعریفنشده هشدار میدهد. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین ENTITIES REF NONE دارد. برای جزئیات بیشتر به بند 2.3.2 از پیوست K استاندارد ISO 8879 مراجعه کنید.
external-entity-ref درباره ارجاع به موجودیتهای خارجی هشدار میدهد. این شامل ارجاع به زیرمجموعه خارجی DTD نیز میشود. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین ENTITIES REF INTERNAL دارد. برای جزئیات بیشتر به بند 2.3.3 از پیوست K استاندارد ISO 8879 مراجعه کنید.
integral اگر نمونه سند به صورت یکپارچه ذخیره نشده باشد هشدار میدهد. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین ENTITIES INTEGRAL YES دارد. برای جزئیات بیشتر به بند 2.3.1 از پیوست K استاندارد ISO 8879 مراجعه کنید.
یک هشدار را میتوان با استفاده از نام آن همراه با پیشوند no- غیرفعال کرد. بنابراین -wall -wno-duplicate همه هشدارها به جز هشدارهای مربوط به اعلانهای تکراری موجودیت را فعال خواهد کرد.
مقادیر زیر برای warning_type خطاها را غیرفعال میکنند:
no-idref برای مقدار ارجاع ID که هیچ عنصری آن را به عنوان ID خود ندارد، خطا صادر نمیکند. اثر آن به گونهای خواهد بود که گویی هر صفت اعلانشده به عنوان یک مقدار ارجاع ID، به عنوان یک نام اعلان شده است.
no-significant هنگامی که نویسهای که نویسه معنادار (significant character) در نحو انضمامی مرجع نیست در یک لفظ در اعلان SGML ظاهر میشود، خطا صادر نمیکند. این ممکن است همراه با برخی مجموعههای آزمایشی دارای باگ مفید باشد.
no-valid سند را ملزم به معتبر بودن از نظر نوع (type-valid) نمیکند. این گزینه اثری معادل تغییر اعلان SGML به منظور تعیین VALIDITY NOASSERT و IMPLYDEF ATTLIST YES ELEMENT YES دارد. گزینه -wvalid اثری معادل تغییر اعلان SGML به منظور تعیین VALIDITY TYPE و IMPLYDEF ATTLIST NO ELEMENT NO دارد. اگر هیچیک از -wvalid یا -wno-valid مشخص نشده باشند، آنگاه از VALIDITY و IMPLYDEF مشخصشده در اعلان SGML استفاده خواهد شد.
no-afdr هنگام استفاده از ویژگیهای نشانهگذاری meta-DTD مربوط به AFDR در DTD، خطا صادر نمیکند. این خطاها معمولاً هنگام تجزیه DTD ایجاد میشوند، اما هنگام تجزیه meta-DTDها نادیده گرفته میشوند.
-x, --references
گزینههای زیر نیز برای سازگاری با گذشته با sgmls پشتیبانی میشوند:
-d
-l
-msysid
-r
-u
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
James Clark
Ian Castle <ian.castle@openjade.org>
حق نشر (COPYRIGHT)
| November 2002 | OpenSP |