XMLLINT(1) xmllint Manual XMLLINT(1)

xmllint - ابزار خط فرمان XML

xmllint [--version | --debug | --quiet | --shell | --xpath "XPath_expression" | --xpath0 "XPath_expression" | --copy | --recover | --huge | --nocompact | --nodefdtd | --nodict | --noenc | --noent | --nofixup-base-uris | --noout | --nonet | --path "PATH(S)" | --load-trace | --valid | --postvalid | --dtdvalid URL | --dtdvalidfpi FPI | --timing | --output FILE | --repeat | --insert | --strict-namespace | --compress | --html | --xmlout | --push | --memory | --max-ampl INTEGER | --maxmem NBBYTES | --nowarning | --noblanks | --nocdata | --format | --pretty INTEGER | --encode ENCODING | --dropdtd | --nsclean | --catalogs | --nocatalogs | --auto | --xinclude | --noxincludenode | --loaddtd | --dtdattr | --stream | --walker | --pattern PATTERNVALUE | --relaxng SCHEMA | --schema SCHEMA | --schematron SCHEMA | --c14n | --c14n11 | --exc-c14n | --pedantic | --sax | --sax1 | --oldxml10] {XML-FILE(S)... | -}

برنامهٔ xmllint یک یا چند فایل XML را که در خط فرمان به عنوان XML-FILE مشخص شده‌اند (یا در صورتی که نام فایل داده‌شده - باشد، از ورودی استاندارد) تجزیه می‌کند. این برنامه بسته به گزینه‌های انتخاب‌شده، انواع مختلفی از خروجی را چاپ می‌کند. این ابزار برای تشخیص خطاها هم در کد XML و هم در خودِ تجزیه‌کنندهٔ XML مفید است.

xmllint بخشی از کتابخانهٔ libxml2 است.

گزینه‌های فعال‌کنندهٔ اعتبارسنجی.

--dtdvalid URL

استفاده از DTD مشخص‌شده با یک URL برای اعتبارسنجی.

--dtdvalidfpi FPI

استفاده از DTD مشخص‌شده توسط یک شناسهٔ رسمی عمومی (Formal Public Identifier یا FPI) برای اعتبارسنجی؛ توجه داشته باشید که این گزینه برای کارکرد به کاتالوگی نیاز دارد که آن شناسهٔ رسمی عمومی را صادر کرده باشد.

--relaxng SCHEMA

استفاده از فایل RelaxNG به نام SCHEMA برای اعتبارسنجی.

--schema SCHEMA

استفاده از یک فایل W3C XML Schema به نام SCHEMA برای اعتبارسنجی.

--schematron SCHEMA

استفاده از یک فایل Schematron به نام SCHEMA برای اعتبارسنجی.

--valid

بررسی اینکه آیا سند، نمونه‌ای معتبر از تعریف نوع سند (DTD) گنجانده‌شده است یا خیر. همچنین می‌توان با استفاده از گزینهٔ --dtdvalid در خط فرمان یک DTD را برای اعتبارسنجی در برابر آن تعیین کرد. به طور پیش‌فرض، xmllint بررسی می‌کند که آیا سند خوش‌ساخت (well-formed) هست یا خیر.

--strict-namespace

در صورتی که سند خوش‌ساخت باشد، اما دارای خطاهای فضای نام باشد، یک خطا بازمی‌گرداند. این گزینه خوش‌ساختی فضای نام را اجباری می‌کند.

گزینه‌های زیر تنظیمات مربوط به تجزیه‌کننده را اعمال می‌کنند.

--dtdattr

دریافت DTD خارجی و پر کردن درخت با ویژگی‌های موروثی. شامل گزینهٔ --loaddtd نیز می‌شود.

--huge

نادیده گرفتن برخی از محدودیت‌های سخت‌کدشدهٔ تجزیه‌کننده.

--loaddtd

دریافت یک DTD خارجی و موجودیت‌های پارامتر خارجی.

--max-ampl INTEGER

تنظیم حداکثر ضریب تقویت که از گسترش نمایی موجودیت‌ها (حملهٔ "billion laughs") محافظت می‌کند. مقدار پیش‌فرض ۵ است. اسنادی که به طور گسترده از گسترش موجودیت‌ها استفاده می‌کنند ممکن است به مقدار بالاتری نیاز داشته باشند.

--noblanks

حذف فاصله‌های خالی «قابل چشم‌پوشی». این گزینه غیرقابل اعتماد است و نباید استفاده شود.

--nocatalogs

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

--nocdata

جایگزینی بخش‌های CDATA با گره‌های متنی معادل.

--nodefdtd

عدم تنظیم نوع سند (doctype) پیش‌فرض HTML (گزینهٔ تجزیه‌کننده HTML_PARSE_NODEFDTD).

--noenc

نادیده گرفتن اعلان کدگذاری (گزینهٔ تجزیه‌کننده XML_PARSE_IGNORE_ENC).

--noent

جایگزینی مقادیر موجودیت‌ها به جای ارجاعات موجودیت. به طور پیش‌فرض، xmllint ارجاعات موجودیت را دست‌نخورده باقی می‌گذارد. این گزینه بارگذاری DTDها و موجودیت‌های خارجی را فعال می‌کند.

--nofixup-base-uris

اصلاح نکردن URIهای xml:base هنگام پردازش XIncludeها (گزینهٔ تجزیه‌کننده XML_PARSE_NOBASEFIX).

--nonet

استفاده نکردن از اینترنت برای دریافت DTDها یا موجودیت‌ها. در libxml2 نسخه 2.15 یا بالاتر تأثیری ندارد.

--nowarning

عدم صدور هشدارهای تجزیه‌کننده و/یا اعتبارسنج.

--nsclean

حذف اعلان‌های اضافی و تکراری فضای نام.

--oldxml10

استفاده از قواعد تجزیهٔ منسوخ‌شده مربوط به پیش از نگارش پنجم XML 1.0.

--pedantic

فعال‌سازی هشدارهای اضافی.

--recover

خروجی دادن هر بخش قابل تجزیه از یک سند نامعتبر. رفتار دقیق مشخص نشده است. استفاده از این گزینه توصیه نمی‌شود.

--xinclude

انجام پردازش XInclude.

گزینه‌هایی که در دسته‌بندی دیگری قرار نمی‌گیرند.

--catalogs

استفاده از کاتالوگ(های) SGML از SGML_CATALOG_FILES. کاتالوگ‌های XML به طور پیش‌فرض بارگذاری می‌شوند.

--dropdtd

حذف DTD پس از تجزیه.

--html

استفاده از تجزیه‌کنندهٔ HTML.

--path "PATH(S)"

استفاده از فهرست مسیرهای سیستم‌فایل (جداشده با فاصله یا دونقطه) مشخص‌شده با PATHS برای بارگذاری DTDها یا موجودیت‌ها. فهرست‌های جداشده با فاصله را درون علامت نقل‌قول قرار دهید.

--quiet

پیام‌های اطلاع‌رسانی را در stderr چاپ نکند.

--sax

چاپ فراخوانی‌های بازگشتی (callbacks) ابزار SAX برای اشکال‌زدایی. در صورت استفاده با --noout می‌تواند برای اعتبارسنجی جریانی DTD و طرح‌واره استفاده شود.

--shell

اجرای یک پوستهٔ ناوبری. جزئیات دستورهای موجود در حالت پوسته در ادامه آمده است (بخش «دستورهای پوسته (SHELL COMMANDS)» را ببینید).

--stream

استفاده از API جریانی - کاربردی در ترکیب با گزینه‌های --relaxng یا --valid برای اعتبارسنجی فایل‌هایی که برای نگهداری در حافظه بیش از حد بزرگ هستند.

--version

نمایش نسخهٔ libxml2 استفاده‌شده.

گزینه‌های کنترل‌کنندهٔ خروجی. به جز --noout این گزینه‌ها در حالت SAX یا stream تأثیری ندارند.

--compress

روشن کردن فشرده‌سازی خروجی با gzip(1).

--c14n, --c14n11, --exc-c14n

استفاده از قانون‌سازی (C14N) کنسرسیوم W3C XML برای سریال‌سازی نتیجهٔ تجزیه در stdout. این گزینه توضیحات (comments) را در نتیجه حفظ می‌کند.

--encode ENCODING

خروجی دادن با کدگذاری تعیین‌شده. توجه داشته باشید که این گزینه برای کل سند عمل می‌کند، نه برای قطعات یا نتیجهٔ حاصل از پرس‌وجوهای XPath.

--format

قالب‌بندی مجدد و تورفتگی‌گذاری خروجی. متغیر محیطی XMLLINT_INDENT تورفتگی را کنترل می‌کند. مقدار پیش‌فرض دو فاصله (" ") است.

به‌ویژه در غیاب یک DTD، این ویژگی هرگز به صورت قابل اعتماد کار نکرده و از اساس معیوب است.

--noout

جلوگیری از چاپ خروجی. به طور پیش‌فرض، xmllint درخت نتیجه را خروجی می‌دهد.

--output FILE

تعریف یک مسیر فایل که xmllint نتیجهٔ تجزیه را در آن ذخیره می‌کند. معمولاً برنامه‌ها درختی می‌سازند و آن را در stdout ذخیره می‌کنند؛ با این گزینه نمونهٔ XML حاصل در یک فایل ذخیره خواهد شد.

--pretty INTEGER

مقدار 0 به معنای بدون قالب‌بندی، 1 به معنای XML_SAVE_FORMAT (همانند --format) و 2 به معنای XML_SAVE_WSNONSIG است.

--xmlout

در ترکیب با --html استفاده می‌شود. معمولاً هنگام تجزیهٔ HTML سند با سریال‌ساز HTML ذخیره می‌شود، اما با این گزینه سند حاصل با سریال‌ساز XML ذخیره خواهد شد. این گزینه در درجه اول برای تولید XHTML از ورودی HTML استفاده می‌شود.

از گزینه‌های زیر می‌توان برای اشکال‌زدایی کتابخانهٔ libxml2 استفاده کرد. رفتار این گزینه‌ها ممکن است بدون اطلاع قبلی تغییر کند.

--auto

تولید یک سند کوچک برای مقاصد آزمایشی.

--copy

آزمودن پیاده‌سازی کپی داخلی.

--debug

تجزیهٔ یک فایل و خروجی دادن یک درخت حاشیه‌نویسی‌شده از نسخهٔ درون‌حافظه‌ای سند.

--insert

آزمودن درج‌های معتبر. منسوخ‌شده: این قابلیت حذف خواهد شد.

--load-trace

نمایش تمام اسناد بارگذاری‌شده در طول پردازش در stderr.

--maxmem NNBYTES

آزمودن پشتیبانی حافظهٔ تجزیه‌کننده. NNBYTES حداکثر تعداد بایت‌هایی است که کتابخانه مجاز به تخصیص آن است. این گزینه همچنین می‌تواند برای اطمینان از اینکه پردازش دسته‌ای فایل‌های XML حافظهٔ مجازی سرور اجراکننده را تمام نمی‌کند، استفاده شود.

--memory

تجزیه از حافظه.

--nocompact

تولید نکردن گره‌های متنی فشرده (گزینهٔ تجزیه‌کننده XML_PARSE_COMPACT). فقط برای اشکال‌زدایی.

--nodict

عدم استفاده از واژه‌نامه‌ها (گزینهٔ تجزیه‌کننده XML_PARSE_NODICT). فقط برای اشکال‌زدایی.

--noxincludenode

انجام پردازش XInclude بدون تولید گره‌های آغازین و پایانی XInclude.

--pattern PATTERNVALUE

برای به‌کارگیری موتور تشخیص الگو استفاده می‌شود که می‌تواند با رابط خوانندهٔ تجزیه‌کننده استفاده شود. این گزینه امکان انتخاب برخی از گره‌های سند را بر اساس یک عبارت (زیرمجموعه) XPath فراهم می‌کند. برای اشکال‌زدایی استفاده می‌شود.

--postvalid

اعتبارسنجی پس از تکمیل تجزیه.

--push

استفاده از حالت push در تجزیه‌کننده.

--repeat

تکرار ۱۰۰ بار، برای زمان‌سنجی یا ارزیابی کارایی (profiling).

--sax1

استفاده از رابط منسوخ‌شدهٔ SAX1 (فقط برای اشکال‌زدایی).

--timing

خروجی دادن اطلاعات مربوط به زمان صرف‌شده توسط xmllint برای انجام مراحل مختلف.

--walker

آزمودن ماژول walker که یک رابط خواننده برای درخت سند است؛ به جای استفاده از API خواننده روی یک سند تجزیه‌نشده، روی یک درخت موجود در حافظه کار می‌کند. برای اشکال‌زدایی استفاده می‌شود.

--xpath "XPath_expression"

اجرای عبارت XPath ارائه‌شده به عنوان آرگومان و چاپ نتیجه. در صورت وجود مجموعه گره‌ها (nodeset) به عنوان نتیجه، هر گره در مجموعه به طور کامل در خروجی سریال‌سازی می‌شود. در صورت خالی بودن مجموعه گره‌ها، نتیجهٔ "XPath set is empty" نمایش داده شده و کد خروج ۱۱ بازگردانده می‌شود.

برنامهٔ xmllint یک حالت پوستهٔ تعاملی ارائه می‌دهد که با گزینهٔ --shell فراخوانی می‌شود. دستورهای موجود در حالت پوسته عبارتند از (به ترتیب حروف الفبا):

base

نمایش پایهٔ XML (xml:base) گره.

bye

خروج از پوسته.

cat NODE

نمایش گره مشخص‌شده یا گره فعلی.

cd PATH

تغییر گره فعلی به مسیر مشخص‌شده (در صورت یکتا بودن) یا ریشه در صورت عدم ارائه آرگومان.

dir PATH

تخلیهٔ اطلاعات دربارهٔ گره (فضای نام، ویژگی‌ها، محتوا).

du PATH

نمایش ساختار زیردرخت زیر مسیر مشخص‌شده یا گره فعلی.

exit

خروج از پوسته.

help

نمایش این راهنما.

load FILENAME

بارگذاری یک سند جدید با نام فایل داده‌شده.

ls PATH

فهرست کردن محتویات مسیر مشخص‌شده یا دایرکتوری فعلی.

pwd

نمایش مسیر به گره فعلی.

quit

خروج از پوسته.

save FILENAME

ذخیرهٔ سند فعلی با نام فایل داده‌شده یا نام اصلی آن.

validate

بررسی سند برای یافتن خطاها.

write FILENAME

نوشتن گره فعلی در نام فایل داده‌شده.

SGML_CATALOG_FILES

رفتار کاتالوگ SGML را می‌توان با هدایت مجدد پرس‌وجوها به مجموعه کاتالوگ‌های اختصاصی کاربر تغییر داد. این کار با تنظیم متغیر محیطی SGML_CATALOG_FILES بر روی فهرستی از کاتالوگ‌ها انجام‌پذیر است. مقدار خالی باید بارگذاری کاتالوگ پیش‌فرض را غیرفعال کند.

XML_CATALOG_FILES

رفتار کاتالوگ XML را می‌توان با هدایت مجدد پرس‌وجوها به مجموعه کاتالوگ‌های اختصاصی کاربر تغییر داد. این کار با تنظیم متغیر محیطی XML_CATALOG_FILES بر روی فهرستی از کاتالوگ‌ها که با فاصله از هم جدا شده‌اند انجام می‌شود. برای گریز (اسکیپ) از فاصله‌ها یا نویسه‌های دیگر از percent-encoding استفاده کنید. متغیر خالی باید بارگذاری کاتالوگ پیش‌فرض را غیرفعال کند.

XML_DEBUG_CATALOG

تنظیم متغیر محیطی XML_DEBUG_CATALOG به مقداری غیر از صفر با استفاده از دستور export باعث خروجی دادن اطلاعات اشکال‌زدایی مربوط به عملیات کاتالوگ می‌شود.

XMLLINT_INDENT

تنظیم متغیر محیطی XMLLINT_INDENT میزان تورفتگی را کنترل می‌کند. مقدار پیش‌فرض دو فاصله " " است.

کدهای خروج xmllint اطلاعاتی ارائه می‌دهند که هنگام فراخوانی آن از طریق اسکریپت‌ها قابل استفاده است.

0

بدون خطا

1

دسته‌بندی‌نشده

2

خطا در DTD

3

خطای اعتبارسنجی

4

سند خوش‌ساخت نیست یا خوانده نشد

5

خطا در کامپایل طرح‌واره (schema)

6

خطا در نوشتن خروجی

7

خطا در الگو (هنگام استفاده از گزینهٔ --pattern تولید می‌شود)

9

خطای اتمام حافظه

10

خطای ارزیابی XPath

11

نتیجهٔ XPath خالی است

اطلاعات بیشتر را می‌توانید در مخزن libxml2 بیابید: https://gitlab.gnome.org/GNOME/libxml2

John Fleck <jfleck@inkstain.net>

Ziying Sherwin <sherwin@nlm.nih.gov>

Heiko Rupp <hwr@pilhuhn.de>

حق نشر © 2001, 2004

09/04/2026 xmllint