کتابخانه‌ی استاندارد · کدگذاری و داده

اکس‌ام‌ال encoding/xml

خواندن، ساختن و نوشتن اکس‌ام‌ال، با XPath، اعتبارسنجی DTD، فضای نام و یک رابط ساده‌ی سبک.

واردسازی کدگذاری.اکس‌ام‌ال

این بسته دو رابط دارد. رابط سند کامل است: تجزیه متن را به یک سند می‌خواند و هر گره یک شناسه‌ی عددی دارد که با آن نام، ویژگی‌ها، فرزندان و متنش را می‌گیرید. XPath، اعتبارسنجی DTD، فضای نام، موجودیت‌ها و شکل استاندارد همه روی همین سند کار می‌کنند.

رابط گره ساده (کدگشایی، فرزند، ویژگی گره) برای کارهای کوچک است، مثل خواندن یک پرونده‌ی پیکربندی کوچک، و درخت را مستقیم در ساختارهای معمولی نگه می‌دارد. نشانه‌خوان هم متن را بدون ساختن درخت می‌خواند.

گونه‌ها

گزینه‌های نوشتن WriteOptions

ساختار گزینه‌های نوشتن
گزینه‌های نوشتن.
نامانگلیسیگونهتوضیح
indentindentرشته = ""واحد تورفتگی؛ خالی یعنی بی‌تورفتگی.
newlinenewlineرشته = " "خط تازه میان عنصرها وقتی تورفتگی هست.
declarationdeclarationمنطقی = نادرستاعلان <?xml ...?> نوشته شود.
doctypedoctypeمنطقی = نادرستDOCTYPE نوشته شود.
empty_as_pairempty_as_pairمنطقی = نادرستعنصر خالی به شکل <a></a> نوشته شود.
sort_attributessort_attributesمنطقی = نادرستویژگی‌ها به ترتیب الفبا.
escape_newlines_in_attributesescape_newlines_in_attributesمنطقی = نادرستخط تازه در مقدار ویژگی به شکل &#10; نوشته شود.
encoding-xml-Build.salam
واردسازی کدگذاری.اکس‌ام‌ال

روال ریشه:
    ناپایا س := اکس‌ام‌ال.سند جدید()
    ریشه‌ی سند := اکس‌ام‌ال.ساخت عنصر(س، "note")
    اکس‌ام‌ال.افزودن فرزند(س، اکس‌ام‌ال.گره سند(س)، ریشه‌ی سند)
    اکس‌ام‌ال.تنظیم ویژگی(س، ریشه‌ی سند، "id"، "7")
    اکس‌ام‌ال.تنظیم ویژگی(س، ریشه‌ی سند، "draft"، "yes")
    به := اکس‌ام‌ال.ساخت عنصر(س، "to")
    اکس‌ام‌ال.افزودن فرزند(س، ریشه‌ی سند، به)
    اکس‌ام‌ال.افزودن فرزند(س، به، اکس‌ام‌ال.ساخت متن(س، "مریم & رضا"))
    بدنه := اکس‌ام‌ال.ساخت عنصر(س، "body")
    اکس‌ام‌ال.افزودن فرزند(س، ریشه‌ی سند، بدنه)
    اکس‌ام‌ال.افزودن فرزند(س، بدنه، اکس‌ام‌ال.ساخت سی‌دیتا(س، "<b>پررنگ</b>"))
    اکس‌ام‌ال.درج پیش از(س، ریشه‌ی سند، اکس‌ام‌ال.ساخت توضیح(س، "گیرنده")، به)
    اکس‌ام‌ال.افزودن فرزند(س، اکس‌ام‌ال.گره سند(س)، اکس‌ام‌ال.ساخت دستور پردازش(س، "app"، "v=1"))
    سرچاپ اکس‌ام‌ال.نوشتن(س)
    سرچاپ اکس‌ام‌ال.حذف ویژگی(س، ریشه‌ی سند، "draft")، اکس‌ام‌ال.حذف فرزند(س، ریشه‌ی سند، بدنه)
    اکس‌ام‌ال.تنظیم متن(س، به، "همه")
    سرچاپ اکس‌ام‌ال.نوشتن با تورفتگی(س، "  ")
    سرچاپ اکس‌ام‌ال.نوشتن گره(س، به)، اکس‌ام‌ال.نوشتن گره با تورفتگی(س، به، "\t")
    ناپایا گ := اکس‌ام‌ال.گزینه‌های نوشتن پیش فرض()
    گ.declaration = درست
    گ.empty_as_pair = درست
    سرچاپ اکس‌ام‌ال.نوشتن سفارشی(س، گ)
    سرچاپ اکس‌ام‌ال.نوشتن سند(س)
    ناپایا خ := اکس‌ام‌ال.بدون خطا()
    ناپایا د := اکس‌ام‌ال.تجزیه("<r b=\"2\"   a=\"1\"><x/></r>"، خ)
    سرچاپ اکس‌ام‌ال.شکل استاندارد(د)، اکس‌ام‌ال.شکل استاندارد گره(د، اکس‌ام‌ال.فرزند شماره(د، اکس‌ام‌ال.عنصر ریشه(د)، ۰))
    اکس‌ام‌ال.آزادسازی(د)
    اکس‌ام‌ال.آزادسازی(س)
پایان
خروجی<note id="7" draft="yes"><!--گیرنده--><to>مریم &amp; رضا</to><body><![CDATA[<b>پررنگ</b>]]></body></note><?app v=1?> true true <note id="7"> <!--گیرنده--> <to>همه</to> </note> <?app v=1?> <to>همه</to> <to>همه</to> <?xml version="1.0" encoding="UTF-8"?> <note id="7"><!--گیرنده--><to>همه</to></note><?app v=1?> <?xml version="1.0" encoding="UTF-8"?> <note id="7"><!--گیرنده--><to>همه</to></note><?app v=1?> <r a="1" b="2"><x></x></r> <x></x>

اعلان عنصر ElementDecl

ساختار اعلان عنصر
اعلان یک عنصر در DTD.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام عنصر.
contentcontentصحیح = 1نوع محتوا؛ یکی از ثابت‌های محتوا.
modelmodelرشته = ""مدل محتوا به شکل متن، مثل (to, body).
rootrootصحیح = -1ریشه‌ی درخت مدل.
mixedmixedوکتور<رشته>نام عنصرهای مجاز در محتوای آمیخته.
encoding-xml-DTD.salam
واردسازی کدگذاری.اکس‌ام‌ال

روال ریشه:
    د := اکس‌ام‌ال.تجزیه دی‌تی‌دی("<!ELEMENT note (to, body)>\n<!ELEMENT to (#PCDATA)>\n<!ELEMENT body (#PCDATA)>\n<!ATTLIST note id ID #REQUIRED kind (a|b) \"a\">")
    سرچاپ د.ok، اکس‌ام‌ال.شمار عنصرهای اعلام‌شده(د)، اکس‌ام‌ال.شمار ویژگی‌های اعلام‌شده(د)
    ع := د.elements[۰]
    سرچاپ ع.name، ع.content == اکس‌ام‌ال.محتوای فرزندان، ع.model
    ویژ := د.attributes[۱]
    سرچاپ ویژ.name، ویژ.kind == اکس‌ام‌ال.ویژگی فهرستی، ویژ.mode == اکس‌ام‌ال.پیش فرض با مقدار، ویژ.value، ویژ.values
    ناپایا خ := اکس‌ام‌ال.بدون خطا()
    ناپایا خوب := اکس‌ام‌ال.تجزیه("<note id=\"n1\"><to>من</to><body>سلام</body></note>"، خ)
    ناپایا گزارش := اکس‌ام‌ال.اعتبارسنجی(خوب، د)
    سرچاپ گزارش.ok
    اکس‌ام‌ال.آزادسازی گزارش(گزارش)
    سرچاپ اکس‌ام‌ال.اعمال پیش فرض‌ها(خوب، د)، اکس‌ام‌ال.مقدار ویژگی(خوب، اکس‌ام‌ال.عنصر ریشه(خوب)، "kind")
    ناپایا بد := اکس‌ام‌ال.تجزیه("<note><body>بی گیرنده</body></note>"، خ)
    ناپایا گ۲ := اکس‌ام‌ال.اعتبارسنجی(بد، د)
    سرچاپ گ۲.ok، گ۲.items.طول()
    سرچاپ اکس‌ام‌ال.متن گزارش(گ۲)
    اکس‌ام‌ال.آزادسازی گزارش(گ۲)
    ناپایا درونی := اکس‌ام‌ال.تجزیه("<!DOCTYPE a [<!ELEMENT a EMPTY>]><a>متن</a>"، خ)
    ناپایا گ۳ := اکس‌ام‌ال.اعتبارسنجی زیرمجموعه داخلی(درونی)
    سرچاپ گ۳.ok، درونی.doctype
    اکس‌ام‌ال.آزادسازی گزارش(گ۳)
    ناپایا فضا := اکس‌ام‌ال.تجزیه("<a xmlns:x=\"urn:x\"><x:b/></a>"، خ)
    ناپایا گ۴ := اکس‌ام‌ال.بررسی فضای نام(فضا)
    سرچاپ گ۴.ok
    اکس‌ام‌ال.آزادسازی گزارش(گ۴)
    ناپایا د۲ := د
    اکس‌ام‌ال.آزادسازی دی‌تی‌دی(د۲)
    اکس‌ام‌ال.آزادسازی(خوب)
    اکس‌ام‌ال.آزادسازی(بد)
    اکس‌ام‌ال.آزادسازی(درونی)
    اکس‌ام‌ال.آزادسازی(فضا)
پایان
خروجیtrue 3 2 note true (to, body) kind true true a ["a", "b"] true 1 a false 2 line 1, column 1: the children of <note> do not match (to, body) line 1, column 1: <note> is missing the required attribute "id" false a true

اعلان ویژگی AttrDecl

ساختار اعلان ویژگی
اعلان یک ویژگی در DTD.
نامانگلیسیگونهتوضیح
elementelementرشته = ""عنصر صاحب ویژگی.
namenameرشته = ""نام ویژگی.
kindkindصحیح = 0گونه‌ی ویژگی؛ یکی از ثابت‌های ویژگی.
modemodeصحیح = 1حالت پیش‌فرض؛ یکی از ثابت‌های پیش فرض.
valuevalueرشته = ""مقدار پیش‌فرض.
valuesvaluesوکتور<رشته>مقدارهای مجاز ویژگی فهرستی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

دی‌تی‌دی DTD

ساختار دی‌تی‌دی
تعریف گونه‌ی سند.
نامانگلیسیگونهتوضیح
okokمنطقی = درستآیا DTD درست خوانده شد.
messagemessageرشته = ""پیام خطا.
elementselementsوکتور<اعلان عنصر>اعلان عنصرها.
attributesattributesوکتور<اعلان ویژگی>اعلان ویژگی‌ها.
notationsnotationsوکتور<رشته>نشان‌گذاری‌ها.
modelsmodelsوکتوردرخت مدل‌های محتوا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

تخلف Violation

ساختار تخلف
یک مورد نقض در اعتبارسنجی.
نامانگلیسیگونهتوضیح
messagemessageرشته = ""توضیح مشکل.
linelineصحیح = 0خط.
colcolصحیح = 0ستون.
nodenodeصحیح = -1شناسه‌ی گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

گزارش اعتبارسنجی Report

ساختار گزارش اعتبارسنجی
نتیجه‌ی اعتبارسنجی.
نامانگلیسیگونهتوضیح
okokمنطقی = درستاگر هیچ نقضی نباشد، درست است.
itemsitemsوکتور<تخلف>موردهای نقض.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

خطای تجزیه ParseError

ساختار خطای تجزیه
خطای خواندن اکس‌ام‌ال.
نامانگلیسیگونهتوضیح
okokمنطقی = درستآیا خواندن موفق بود.
messagemessageرشته = ""پیام خطا.
linelineصحیح = 0خط خطا.
colcolصحیح = 0ستون خطا.
offsetoffsetصحیح = 0جای خطا بر حسب بایت.
encoding-xml-Parse.salam
واردسازی کدگذاری.اکس‌ام‌ال

روال ریشه:
    متن := "<?xml version=\"1.0\"?>\n<library xmlns:b=\"urn:books\">\n  <!-- فهرست -->\n  <b:book id=\"1\" lang=\"fa\"><title>بوف کور</title><year>1315</year></b:book>\n  <b:book id=\"2\"><title>سووشون</title></b:book>\n</library>"
    ناپایا خ := اکس‌ام‌ال.بدون خطا()
    ناپایا س := اکس‌ام‌ال.تجزیه(متن، خ)
    سرچاپ خ.ok، س.version، اکس‌ام‌ال.شمار گره‌ها(س) > ۰
    ر := اکس‌ام‌ال.عنصر ریشه(س)
    سرچاپ اکس‌ام‌ال.نام(س، ر)، اکس‌ام‌ال.نوع(س، ر) == اکس‌ام‌ال.نوع عنصر، اکس‌ام‌ال.والد(س، ر) == اکس‌ام‌ال.گره سند(س)
    ناپایا کتاب‌ها := اکس‌ام‌ال.عنصرها(س، ر)
    سرچاپ کتاب‌ها.items.طول()
    ک := کتاب‌ها.items[۰]
    سرچاپ اکس‌ام‌ال.نام(س، ک)، اکس‌ام‌ال.نام محلی(س، ک)، اکس‌ام‌ال.پیشوند(س، ک)، اکس‌ام‌ال.نشانی فضای نام(س، ک)
    سرچاپ اکس‌ام‌ال.خط(س، ک)، اکس‌ام‌ال.ستون(س، ک)، اکس‌ام‌ال.عمق(س، ک)، اکس‌ام‌ال.مسیر(س، ک)
    سرچاپ اکس‌ام‌ال.شمار ویژگی‌ها(س، ک)، اکس‌ام‌ال.ویژگی دارد(س، ک، "lang")، اکس‌ام‌ال.مقدار ویژگی(س، ک، "id")
    ویژ := اکس‌ام‌ال.ویژگی شماره(س، ک، ۱)
    سرچاپ ویژ.name، ویژ.value
    ع := اکس‌ام‌ال.نخستین عنصر با نام(س، ک، "title")
    سرچاپ اکس‌ام‌ال.متن(س، ع)، اکس‌ام‌ال.متن(س، ک)، اکس‌ام‌ال.عنصر است(س، ع)
    سرچاپ اکس‌ام‌ال.شمار فرزندان(س، ک)، اکس‌ام‌ال.نام(س، اکس‌ام‌ال.فرزند شماره(س، ک، ۱))
    سرچاپ اکس‌ام‌ال.نام(س، اکس‌ام‌ال.گره هم‌سطح بعدی(س، ع))، اکس‌ام‌ال.گره هم‌سطح قبلی(س، ع)
    ناپایا همه := اکس‌ام‌ال.نوادگان(س، ر)
    ناپایا عنوان‌ها := اکس‌ام‌ال.عنصرهای با نام(س، ر، "b:book")
    ناپایا نیاکان := اکس‌ام‌ال.نیاکان(س، ع)
    ناپایا فرزندها := اکس‌ام‌ال.گره‌های فرزند(س، ر)
    سرچاپ همه.items.طول()، عنوان‌ها.items.طول()، نیاکان.items.طول()، فرزندها.items.طول()
    سرچاپ اکس‌ام‌ال.وجود دارد(س، ۹۹۹۹)، اکس‌ام‌ال.مقدار(س، اکس‌ام‌ال.فرزند شماره(س، ع، ۰))
    اکس‌ام‌ال.آزادسازی فهرست(همه)
    اکس‌ام‌ال.آزادسازی فهرست(عنوان‌ها)
    اکس‌ام‌ال.آزادسازی فهرست(نیاکان)
    اکس‌ام‌ال.آزادسازی فهرست(فرزندها)
    اکس‌ام‌ال.آزادسازی فهرست(کتاب‌ها)
    _ := اکس‌ام‌ال.تجزیه("<a><b></a>"، خ)
    سرچاپ خ.ok، خ.line، اکس‌ام‌ال.متن خطا(خ)
    سرچاپ اکس‌ام‌ال.خوش‌ساخت است("<x/>"، خ)
    اکس‌ام‌ال.آزادسازی(س)
    ناپایا گ := اکس‌ام‌ال.گزینه‌های پیش فرض()
    گ.keep_comments = نادرست
    ناپایا د := اکس‌ام‌ال.تجزیه سفارشی("<!DOCTYPE p [<!ENTITY site \"سلام\">]><p xmlns:x=\"urn:x\" x:id=\"7\">&site; <b>ب</b> پایان</p>"، گ، خ)
    پ := اکس‌ام‌ال.عنصر ریشه(د)
    سرچاپ خ.ok، اکس‌ام‌ال.شمار موجودیت‌ها(د)، اکس‌ام‌ال.مقدار موجودیت(د، "site")
    سرچاپ "[" + اکس‌ام‌ال.متن مستقیم(د، پ) + "]"، اکس‌ام‌ال.مقدار ویژگی با فضای نام(د، پ، "urn:x"، "id")
    سرچاپ اکس‌ام‌ال.سقف عمق موجودیت، اکس‌ام‌ال.سقف گسترش موجودیت، گ.max_depth
    اکس‌ام‌ال.آزادسازی(د)
پایان
خروجیtrue 1.0 true library true true 2 b:book book b urn:books 4 3 2 /library[1]/b:book[1] 2 true 1 lang fa بوف کور بوف کور1315 true 2 year year -1 9 2 3 3 false بوف کور false 1 line 1, column 7: </a> closes <b> true true 1 سلام [سلام پایان] 7 32 262144 1024

گزینه‌های تجزیه ParseOptions

ساختار گزینه‌های تجزیه
گزینه‌های خواندن.
نامانگلیسیگونهتوضیح
preserve_whitespacepreserve_whitespaceمنطقی = نادرستگره‌های متنی که فقط فاصله‌اند نگه داشته شوند.
keep_commentskeep_commentsمنطقی = درستتوضیح‌ها نگه داشته شوند.
keep_instructionskeep_instructionsمنطقی = درستدستورهای پردازش نگه داشته شوند.
namespacesnamespacesمنطقی = درستفضای نام‌ها حل شوند.
expand_entitiesexpand_entitiesمنطقی = درستموجودیت‌ها با مقدارشان جایگزین شوند.
max_depthmax_depthصحیح = 1024بیشترین عمق عنصرها.
max_entity_depthmax_entity_depthصحیحبیشترین عمق موجودیت‌های تو‌در‌تو.
max_entity_expansionmax_entity_expansionصحیحبیشترین طول متن پس از گسترش موجودیت‌ها؛ در برابر حمله‌ی «بمب موجودیت».

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

گره ساده XMLNode

ساختار گره ساده
گره ساده: یک عنصر با ویژگی‌ها، فرزندان و متن؛ برای کارهای کوچک بدون سند.
نامانگلیسیگونهتوضیح
tagtagرشته = ""نام عنصر.
attrsattrsنگاشت<رشته، رشته>ویژگی‌ها.
childrenchildrenوکتور<گره ساده>عنصرهای فرزند.
texttextرشته = ""متن عنصر.
encoding-xml-Simple.salam
واردسازی کدگذاری.اکس‌ام‌ال
واردسازی کدگذاری.مقدار

روال ریشه:
    ن := اکس‌ام‌ال.کدگشایی("<config env=\"prod\"><db host=\"localhost\" port=\"5432\"/><feature>search</feature><feature>chat</feature></config>")
    سرچاپ ن.tag، اکس‌ام‌ال.دارای ویژگی(ن، "env")، اکس‌ام‌ال.ویژگی گره(ن، "env")
    د := اکس‌ام‌ال.فرزند(ن، "db")
    سرچاپ اکس‌ام‌ال.پیدا شد(د)، اکس‌ام‌ال.ویژگی گره(د، "port")، اکس‌ام‌ال.پیدا شد(اکس‌ام‌ال.فرزند(ن، "cache"))
    ف := اکس‌ام‌ال.فرزندان(ن، "feature")
    سرچاپ ف.items.طول()، ف.items[۱].text
    ناپایا ت := اکس‌ام‌ال.گره ساده جدید("item")
    اکس‌ام‌ال.تنظیم ویژگی گره(ت، "id"، "3")
    ناپایا ب := اکس‌ام‌ال.گره ساده جدید("name")
    ب.text = "کتاب"
    اکس‌ام‌ال.افزودن گره فرزند(ت، ب)
    سرچاپ اکس‌ام‌ال.کدگذاری(ت)
    سرچاپ اکس‌ام‌ال.کدگذاری با تورفتگی(ت، "  ")
    سرچاپ اکس‌ام‌ال.کدگذاری با اعلان(ت)
    سرچاپ اکس‌ام‌ال.معتبر("<a><b/></a>")، اکس‌ام‌ال.معتبر("<a><b></a>")
    ناپایا خوانده := نادرست
    _ := اکس‌ام‌ال.کدگشایی سخت گیرانه("<a>"، خوانده)
    سرچاپ خوانده
    م := اکس‌ام‌ال.به مقدار(ن)
    سرچاپ مقدار.رشته اشکال زدایی(م)
    سرچاپ اکس‌ام‌ال.کدگذاری(اکس‌ام‌ال.از مقدار(م، "root"))
    سرچاپ اکس‌ام‌ال.اسکیپ متن("a < b & c")، اکس‌ام‌ال.اسکیپ ویژگی(`"x"`)، اکس‌ام‌ال.بازگردانی موجودیت‌ها("&lt;p&gt; &amp; &#1587;")
    ناپایا خوان := اکس‌ام‌ال.نشانه‌خوان جدید("<a x=\"1\">سلام<!--c--></a>")
    تا درست:
        ن۲ := اکس‌ام‌ال.نشانه بعدی(خوان)
        اگر ن۲.kind == اکس‌ام‌ال.نشانه اتمام یا ن۲.kind == اکس‌ام‌ال.نشانه خطا:
            بشکن
        پایان
        سرچاپ ن۲.kind، ن۲.tag، ن۲.text
    پایان
    سرچاپ اکس‌ام‌ال.نشانه آغاز عنصر، اکس‌ام‌ال.نشانه انتهای عنصر، اکس‌ام‌ال.نشانه متن، اکس‌ام‌ال.نشانه توضیح، اکس‌ام‌ال.نشانه سی‌دیتا
پایان
خروجیconfig true prod true 5432 false 2 chat <item id="3"><name>کتاب</name></item> <item id="3"> <name>کتاب</name> </item> <?xml version="1.0" encoding="UTF-8"?> <item id="3"><name>کتاب</name></item> true false false object{feature: array[string(search), string(chat)], @env: string(prod), db: object{@port: string(5432), @host: string(localhost)}} <root env="prod"><feature>search</feature><feature>chat</feature><db host="localhost" port="5432"/></root> a &lt; b &amp; c &quot;x&quot; <p> & س 1 a 3 سلام 4 c 2 a 1 2 3 4 5

فهرست گره ساده XMLNodeList

ساختار فهرست گره ساده
فهرستی از گره‌های ساده.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<گره ساده>گره‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

نشانه اکس‌ام‌ال XMLToken

ساختار نشانه اکس‌ام‌ال
یک نشانه از نشانه‌خوان.
نامانگلیسیگونهتوضیح
kindkindصحیح = 0نوع نشانه؛ یکی از ثابت‌های نشانه.
tagtagرشته = ""نام عنصر.
attrsattrsنگاشت<رشته، رشته>ویژگی‌های عنصر آغازی.
texttextرشته = ""متن نشانه‌ی متن یا توضیح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

نشانه‌خوان اکس‌ام‌ال XMLTokenizer

ساختار نشانه‌خوان اکس‌ام‌ال
نشانه‌خوان: متن را بدون ساختن درخت، نشانه به نشانه می‌خواند؛ برای پرونده‌های بزرگ.
نامانگلیسیگونهتوضیح
texttextرشته = ""متن ورودی.
posposصحیح = 0جای فعلی.
badbadمنطقی = نادرستخطایی رخ داده.
pendingEndpendingEndرشته = ""عنصر خودبسته‌ای که نشانه‌ی پایانش هنوز داده نشده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

مقدار اکس‌پث XPathValue

ساختار مقدار اکس‌پث
نتیجه‌ی ارزیابی XPath: مجموعه‌ی گره، رشته، عدد یا منطقی.
نامانگلیسیگونهتوضیح
kindkindصحیح = 0نوع نتیجه؛ یکی از ثابت‌های مقدار.
nodesnodesفهرست گرهگره‌ها، اگر نتیجه مجموعه‌ی گره باشد.
texttextرشته = ""نتیجه‌ی رشته‌ای.
numbernumberاعشار۶۴ = 0نتیجه‌ی عددی.
flagflagمنطقی = نادرستنتیجه‌ی منطقی.
encoding-xml-XPath.salam
واردسازی کدگذاری.اکس‌ام‌ال

روال ریشه:
    ناپایا خ := اکس‌ام‌ال.بدون خطا()
    ناپایا س := اکس‌ام‌ال.تجزیه("<shop><item price=\"120\">چای</item><item price=\"80\">قند</item><item price=\"45\">نان</item></shop>"، خ)
    ر := اکس‌ام‌ال.گره سند(س)
    ناپایا ارزان := اکس‌ام‌ال.انتخاب(س، ر، "//item[@price < 100]"، خ)
    سرچاپ ارزان.items.طول()
    هر گ در ارزان.items:
        سرچاپ اکس‌ام‌ال.متن(س، گ)
    پایان
    اکس‌ام‌ال.آزادسازی فهرست(ارزان)
    سرچاپ اکس‌ام‌ال.انتخاب رشته(س، ر، "/shop/item[1]"، خ)، اکس‌ام‌ال.انتخاب عدد(س، ر، "sum(//item/@price)"، خ)، اکس‌ام‌ال.انتخاب منطقی(س، ر، "count(//item) = 3"، خ)
    ن := اکس‌ام‌ال.انتخاب نخستین(س، ر، "//item[last()]"، خ)
    سرچاپ اکس‌ام‌ال.نام گره(س، ن)، اکس‌ام‌ال.مقدار متنی گره(س، ن)
    ناپایا م := اکس‌ام‌ال.ارزیابی(س، ر، "//item/@price"، خ)
    سرچاپ م.kind == اکس‌ام‌ال.مقدار مجموعه گره، م.nodes.items.طول()
    ش := م.nodes.items[۰]
    سرچاپ اکس‌ام‌ال.ارجاع ویژگی است(ش)، اکس‌ام‌ال.ویژگی ارجاع‌شده(س، ش).value، اکس‌ام‌ال.ارجاع ویژگی است(اکس‌ام‌ال.ارجاع ویژگی(۰))
    اکس‌ام‌ال.آزادسازی مقدار(م)
    ع := اکس‌ام‌ال.ارزیابی(س، ر، "string-length('سلام')"، خ)
    سرچاپ ع.kind == اکس‌ام‌ال.مقدار عدد، ع.number، اکس‌ام‌ال.مقدار رشته، اکس‌ام‌ال.مقدار منطقی
    _ := اکس‌ام‌ال.انتخاب(س، ر، "//item[@"، خ)
    سرچاپ خ.ok
    اکس‌ام‌ال.آزادسازی(س)
پایان
خروجی2 قند نان چای 245 true item نان true 3 true 120 true true 4 1 3 false

ویژگی Attribute

ساختار ویژگی
یک ویژگی عنصر.
نامانگلیسیگونهتوضیح
ownerownerصحیح = -1شناسه‌ی عنصر.
namenameرشته = ""نام کامل.
prefixprefixرشته = ""پیشوند.
locallocalرشته = ""نام بدون پیشوند.
uriuriرشته = ""نشانی فضای نام.
valuevalueرشته = ""مقدار، با موجودیت‌های برگردانده.
linelineصحیح = 0خط.
colcolصحیح = 0ستون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

گره Node

ساختار گره
یک گره: عنصر، متن، توضیح و مانند آن.
نامانگلیسیگونهتوضیح
kindkindصحیح = 0نوع گره؛ یکی از ثابت‌های نوع.
namenameرشته = ""نام کامل با پیشوند.
prefixprefixرشته = ""پیشوند فضای نام.
locallocalرشته = ""نام بدون پیشوند.
uriuriرشته = ""نشانی فضای نام.
valuevalueرشته = ""متن گره‌های متن، توضیح و مانند آن.
parentparentصحیح = -1شناسه‌ی والد؛ ‎-1 برای گره سند.
childrenchildrenوکتور<صحیح>شناسه‌ی فرزندان.
attrsattrsوکتور<صحیح>شماره‌ی ویژگی‌ها.
linelineصحیح = 0شماره‌ی خط در متن.
colcolصحیح = 0شماره‌ی ستون در متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

سند Document

ساختار سند
یک سند اکس‌ام‌ال خوانده‌شده یا ساخته‌شده. گره‌ها با شماره (شناسه) از آن گرفته می‌شوند.
نامانگلیسیگونهتوضیح
nodesnodesوکتور<گره>همه‌ی گره‌ها؛ شناسه‌ی هر گره شماره‌ی آن در این وکتور است.
attributesattributesوکتور<ویژگی>همه‌ی ویژگی‌ها.
versionversionرشته = ""نسخه در اعلان <?xml ...?>.
encodingencodingرشته = ""کدگذاری در اعلان.
standalonestandaloneرشته = ""مقدار standalone در اعلان.
doctypedoctypeرشته = ""نام عنصر ریشه در <!DOCTYPE>.
doctype_publicdoctype_publicرشته = ""شناسه‌ی عمومی DOCTYPE.
doctype_systemdoctype_systemرشته = ""شناسه‌ی سیستمی DOCTYPE.
internal_subsetinternal_subsetرشته = ""متن زیرمجموعه‌ی داخلی DOCTYPE، میان [ و ].
entity_namesentity_namesوکتور<رشته>نام موجودیت‌های تعریف‌شده.
entity_valuesentity_valuesوکتور<رشته>مقدار موجودیت‌ها.
ownedownedوکتور<رشته>رشته‌هایی که سند نگه می‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

فهرست گره NodeList

ساختار فهرست گره
فهرستی از شناسه‌ی گره‌ها.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<صحیح>شناسه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

پایاها و متغیرها

نوع محتوای عنصر در DTD Content…

خالی (EMPTY)، دلخواه (ANY)، آمیخته‌ی متن و عنصر، یا فقط عنصرهای فرزند با مدل مشخص.
نامانگلیسیمقدار
محتوای خالیContentEmpty0
محتوای دلخواهContentAny1
محتوای آمیختهContentMixed2
محتوای فرزندانContentChildren3

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

گونه‌ی ویژگی در DTD Attr…

گونه‌ی اعلام‌شده برای ویژگی: متن، شناسه، ارجاع به شناسه، موجودیت، نام‌نشانه، فهرست مقدارها یا نشان‌گذاری.
نامانگلیسیمقدار
ویژگی متنیAttrCData0
ویژگی شناسهAttrId1
ویژگی ارجاع شناسهAttrIdRef2
ویژگی ارجاع‌های شناسهAttrIdRefs3
ویژگی موجودیتAttrEntity4
ویژگی موجودیت‌هاAttrEntities5
ویژگی نام‌نشانهAttrNmToken6
ویژگی نام‌نشانه‌هاAttrNmTokens7
ویژگی فهرستیAttrEnumeration8
ویژگی نشان‌گذاریAttrNotation9

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

حالت پیش‌فرض ویژگی در DTD Default…

الزامی (#REQUIRED)، اختیاری (#IMPLIED)، ثابت (#FIXED) یا دارای مقدار پیش‌فرض.
نامانگلیسیمقدار
پیش فرض الزامیDefaultRequired0
پیش فرض اختیاریDefaultImplied1
پیش فرض ثابتDefaultFixed2
پیش فرض با مقدارDefaultValue3

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

سقف موجودیت‌ها Entity…

مقدارهای پیش‌فرض max_entity_depth و max_entity_expansion در گزینه‌های خواندن.
نامانگلیسیمقدار
سقف عمق موجودیتEntityDepthLimit32
سقف گسترش موجودیتEntityExpansionLimit262144

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نوع نشانه‌ها XMLTok…

مقدار kind هر نشانه‌ی نشانه‌خوان.
نامانگلیسیمقدار
نشانه آغاز عنصرXMLTokStartElement1
نشانه انتهای عنصرXMLTokEndElement2
نشانه متنXMLTokText3
نشانه توضیحXMLTokComment4
نشانه سی‌دیتاXMLTokCData5
نشانه اتمامXMLTokEOF6
نشانه خطاXMLTokError7

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

نوع نتیجه‌ی XPath Value…

مقدار فیلد kind در نتیجه‌ی ارزیابی.
نامانگلیسیمقدار
مقدار مجموعه گرهValueNodeSet0
مقدار رشتهValueString1
مقدار عددValueNumber2
مقدار منطقیValueBoolean3

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

نوع گره‌ها Kind…

مقدار نوع هر گره در سند.
نامانگلیسیمقدار
نوع سندKindDocument0
نوع عنصرKindElement1
نوع متنKindText2
نوع سی‌دیتاKindCData3
نوع توضیحKindComment4
نوع دستور پردازشKindProcessingInstruction5
نوع اعلان سندKindDoctype6

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نشانی فضای نام اکس‌ام‌ال XMLNamespaceURI

پایا نشانی فضای نام اکس‌ام‌ال: رشته = "http://www.w3.org/XML/1998/namespace"
نشانی فضای نام پیشوند xml.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نشانی فضای نام اکس‌ام‌ال‌ان‌اس XMLNSNamespaceURI

پایا نشانی فضای نام اکس‌ام‌ال‌ان‌اس: رشته = "http://www.w3.org/2000/xmlns/"
نشانی فضای نام xmlns.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

روال‌ها

گزینه‌های نوشتن پیش فرض DefaultWriteOptions

روال گزینه‌های نوشتن پیش فرض(): گزینه‌های نوشتن
گزینه‌های پیش‌فرض نوشتن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

نوشتن Write

روال نوشتن(d: سند): رشته
سند را فشرده و بدون اعلان می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

نوشتن با تورفتگی WriteIndent

روال نوشتن با تورفتگی(d: سند، unit: رشته): رشته
سند را با تورفتگی می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

نوشتن سفارشی WriteWith

روال نوشتن سفارشی(d: سند، opts: گزینه‌های نوشتن): رشته
سند را با گزینه‌های داده‌شده می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

نوشتن گره WriteNode

روال نوشتن گره(d: سند، id: صحیح): رشته
یک گره و نوادگانش را می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

نوشتن گره با تورفتگی WriteNodeIndent

روال نوشتن گره با تورفتگی(d: سند، id: صحیح، unit: رشته): رشته
یک گره را با تورفتگی می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

نوشتن سند WriteDocument

روال نوشتن سند(d: سند): رشته
سند را همراه با اعلان XML می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

شکل استاندارد Canonical

روال شکل استاندارد(d: سند): رشته
شکل استاندارد سند (Canonical XML): ویژگی‌ها مرتب، عنصر خالی دوتایی، بی‌فاصله‌ی اضافه؛ برای مقایسه یا امضای دیجیتال.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

شکل استاندارد گره CanonicalNode

روال شکل استاندارد گره(d: سند، id: صحیح): رشته
شکل استاندارد یک گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

تجزیه دی‌تی‌دی ParseDTD

روال تجزیه دی‌تی‌دی(text: رشته): دی‌تی‌دی
متن DTD را می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

آزادسازی دی‌تی‌دی FreeDTD

روال آزادسازی دی‌تی‌دی(dtd &: دی‌تی‌دی)
حافظه‌ی DTD را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

آزادسازی گزارش FreeReport

روال آزادسازی گزارش(r &: گزارش اعتبارسنجی)
حافظه‌ی گزارش را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

متن گزارش ReportText

روال متن گزارش(r: گزارش اعتبارسنجی): رشته
همه‌ی موردهای نقض، هر کدام در یک خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

شمار عنصرهای اعلام‌شده DeclaredElementCount

روال شمار عنصرهای اعلام‌شده(dtd: دی‌تی‌دی): صحیح
تعداد عنصرهای اعلام‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

شمار ویژگی‌های اعلام‌شده DeclaredAttributeCount

روال شمار ویژگی‌های اعلام‌شده(dtd: دی‌تی‌دی): صحیح
تعداد ویژگی‌های اعلام‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

اعتبارسنجی Validate

روال اعتبارسنجی(d: سند، dtd: دی‌تی‌دی): گزارش اعتبارسنجی
سند را با DTD داده‌شده اعتبارسنجی می‌کند: مدل محتوا، ویژگی‌های الزامی، مقدارهای مجاز و شناسه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

اعتبارسنجی زیرمجموعه داخلی ValidateInternalSubset

روال اعتبارسنجی زیرمجموعه داخلی(d: سند): گزارش اعتبارسنجی
سند را با DTD داخل DOCTYPE خودش اعتبارسنجی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

بررسی فضای نام CheckNamespaces

روال بررسی فضای نام(d: سند): گزارش اعتبارسنجی
بررسی می‌کند همه‌ی پیشوندها تعریف شده باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

اعمال پیش فرض‌ها ApplyDefaults

روال اعمال پیش فرض‌ها(d &: سند، dtd: دی‌تی‌دی): صحیح
مقدار پیش‌فرض ویژگی‌هایی را که نیامده‌اند اضافه می‌کند و تعدادشان را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-DTD.salam

گزینه‌های پیش فرض DefaultOptions

روال گزینه‌های پیش فرض(): گزینه‌های تجزیه
گزینه‌های پیش‌فرض خواندن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

بدون خطا NoError

روال بدون خطا(): خطای تجزیه
خطای خالی برای دادن به روال‌های خواندن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

متن خطا ErrorText

روال متن خطا(e: خطای تجزیه): رشته
خطا را به شکل «خط، ستون: پیام» می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

تجزیه سفارشی ParseWith

روال تجزیه سفارشی(text: رشته، opts: گزینه‌های تجزیه، err &: خطای تجزیه): سند
متن را با گزینه‌های داده‌شده می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

تجزیه Parse

روال تجزیه(text: رشته، err &: خطای تجزیه): سند
متن را می‌خواند؛ اگر اکس‌ام‌ال خوش‌ساخت نباشد، err.ok نادرست می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

خوش‌ساخت است WellFormed

روال خوش‌ساخت است(text: رشته، err &: خطای تجزیه): منطقی
اگر متن خوش‌ساخت باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

بازگردانی موجودیت‌ها UnescapeEntities

روال بازگردانی موجودیت‌ها(s: رشته): رشته
موجودیت‌ها و ارجاع‌های نویسه‌ای مثل &lt; و &#1587; را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

اسکیپ متن EscapeText

روال اسکیپ متن(s: رشته): رشته
نویسه‌های خاص را برای متن اسکیپ می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

اسکیپ ویژگی EscapeAttr

روال اسکیپ ویژگی(s: رشته): رشته
نویسه‌های خاص را برای مقدار ویژگی، از جمله نقل‌قول، اسکیپ می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

نشانه‌خوان جدید NewXMLTokenizer

روال نشانه‌خوان جدید(text: رشته): نشانه‌خوان اکس‌ام‌ال
نشانه‌خوان تازه روی متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

نشانه بعدی NextToken

روال نشانه بعدی(tz &: نشانه‌خوان اکس‌ام‌ال): نشانه اکس‌ام‌ال
نشانه‌ی بعدی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

گره ساده جدید NewXMLNode

روال گره ساده جدید(tag: رشته): گره ساده
گره ساده‌ی تازه با نام داده‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

پیدا شد Found

روال پیدا شد(n: گره ساده): منطقی
اگر گره پیدا شده باشد (نام خالی نداشته باشد)، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

دارای ویژگی HasAttr

روال دارای ویژگی(node: گره ساده، name: رشته): منطقی
اگر گره ساده این ویژگی را داشته باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

ویژگی گره Attr

روال ویژگی گره(node: گره ساده، name: رشته): رشته
مقدار ویژگی گره ساده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

تنظیم ویژگی گره SetAttr

روال تنظیم ویژگی گره(node &: گره ساده، name: رشته، value: رشته)
ویژگی گره ساده را تنظیم می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

افزودن گره فرزند AppendChild

روال افزودن گره فرزند(node &: گره ساده، child: گره ساده)
فرزندی به گره ساده اضافه می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

فرزند Child

روال فرزند(node: گره ساده، tag: رشته): گره ساده
نخستین فرزند با نام داده‌شده؛ اگر نباشد، گرهی که پیدا شد آن نادرست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

فرزندان Children

روال فرزندان(node: گره ساده، tag: رشته): فهرست گره ساده
همه‌ی فرزندان با نام داده‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

کدگشایی سخت گیرانه DecodeStrict

روال کدگشایی سخت گیرانه(text: رشته، ok &: منطقی): گره ساده
متن را به گره ساده تبدیل می‌کند؛ اگر نادرست باشد، ok نادرست می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

کدگشایی Decode

روال کدگشایی(text: رشته): گره ساده
متن را به گره ساده تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

معتبر Valid

روال معتبر(text: رشته): منطقی
اگر متن اکس‌ام‌ال درستی باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

کدگذاری Encode

روال کدگذاری(node: گره ساده): رشته
گره ساده را به متن تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

کدگذاری با تورفتگی EncodeIndent

روال کدگذاری با تورفتگی(node: گره ساده، unit: رشته): رشته
گره ساده را با تورفتگی می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

کدگذاری با اعلان EncodeDeclaration

روال کدگذاری با اعلان(node: گره ساده): رشته
گره ساده را همراه با اعلان XML می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

به مقدار ToValue

روال به مقدار(node: گره ساده): value.Value
گره ساده را به مقدار تبدیل می‌کند؛ ویژگی‌ها با پیشوند @ و فرزندان هم‌نام به شکل آرایه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

از مقدار FromValue

روال از مقدار(v: value.Value، rootTag: رشته): گره ساده
مقدار را با قاعده‌ی بالا به گره ساده با نام ریشه‌ی داده‌شده تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Simple.salam

ارزیابی Evaluate

روال ارزیابی(d: سند، context: صحیح، expression: رشته، err &: خطای تجزیه): مقدار اکس‌پث
یک عبارت XPath 1.0 را از گره context ارزیابی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

آزادسازی مقدار FreeValue

روال آزادسازی مقدار(v &: مقدار اکس‌پث)
حافظه‌ی نتیجه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

انتخاب Select

روال انتخاب(d: سند، context: صحیح، expression: رشته، err &: خطای تجزیه): فهرست گره
گره‌هایی که عبارت انتخاب می‌کند، مثل //item[@price < 100].

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

انتخاب نخستین SelectFirst

روال انتخاب نخستین(d: سند، context: صحیح، expression: رشته، err &: خطای تجزیه): صحیح
نخستین گره انتخاب‌شده؛ ‎-1 اگر نباشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

انتخاب رشته SelectString

روال انتخاب رشته(d: سند، context: صحیح، expression: رشته، err &: خطای تجزیه): رشته
نتیجه را به رشته تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

انتخاب عدد SelectNumber

روال انتخاب عدد(d: سند، context: صحیح، expression: رشته، err &: خطای تجزیه): اعشار۶۴
نتیجه را به عدد تبدیل می‌کند، مثل sum(//item/@price).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

انتخاب منطقی SelectBoolean

روال انتخاب منطقی(d: سند، context: صحیح، expression: رشته، err &: خطای تجزیه): منطقی
نتیجه را به منطقی تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

ارجاع ویژگی است IsAttributeRef

روال ارجاع ویژگی است(id: صحیح): منطقی
اگر شناسه‌ی برگشتی از XPath به یک ویژگی اشاره کند، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

ارجاع ویژگی AttributeRef

روال ارجاع ویژگی(aid: صحیح): صحیح
شماره‌ی ویژگی را به شناسه‌ای تبدیل می‌کند که XPath برای ویژگی‌ها برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

ویژگی ارجاع‌شده ReferencedAttribute

روال ویژگی ارجاع‌شده(d: سند، id: صحیح): ویژگی
ویژگی‌ای که شناسه‌ی XPath به آن اشاره می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

مقدار متنی گره StringValue

روال مقدار متنی گره(d: سند، id: صحیح): رشته
مقدار رشته‌ای گره به تعریف XPath: متن همه‌ی نوادگان، یا مقدار ویژگی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

نام گره NodeName

روال نام گره(d: سند، id: صحیح): رشته
نام گره یا ویژگی برای شناسه‌ی XPath.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-XPath.salam

سند جدید NewDocument

روال سند جدید(): سند
سند خالی برای ساختن از صفر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

آزادسازی Free

روال آزادسازی(d &: سند)
حافظه‌ی سند را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

آزادسازی فهرست FreeList

روال آزادسازی فهرست(list &: فهرست گره)
حافظه‌ی فهرست را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

شمار گره‌ها NodeCount

روال شمار گره‌ها(d: سند): صحیح
تعداد گره‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

گره سند DocumentNode

روال گره سند(d: سند): صحیح
شناسه‌ی گره سند، که عنصر ریشه فرزند آن است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

عنصر ریشه Root

روال عنصر ریشه(d: سند): صحیح
شناسه‌ی عنصر ریشه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

وجود دارد Exists

روال وجود دارد(d: سند، id: صحیح): منطقی
اگر شناسه به گرهی اشاره کند، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نوع Kind

روال نوع(d: سند، id: صحیح): صحیح
نوع گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نام Name

روال نام(d: سند، id: صحیح): رشته
نام کامل گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نام محلی LocalName

روال نام محلی(d: سند، id: صحیح): رشته
نام بدون پیشوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

پیشوند Prefix

روال پیشوند(d: سند، id: صحیح): رشته
پیشوند فضای نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نشانی فضای نام NamespaceURI

روال نشانی فضای نام(d: سند، id: صحیح): رشته
نشانی فضای نام گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

مقدار Value

روال مقدار(d: سند، id: صحیح): رشته
متن گره متن یا توضیح؛ برای عنصر خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

والد Parent

روال والد(d: سند، id: صحیح): صحیح
شناسه‌ی والد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

خط Line

روال خط(d: سند، id: صحیح): صحیح
شماره‌ی خط گره در متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

ستون Column

روال ستون(d: سند، id: صحیح): صحیح
شماره‌ی ستون گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

عنصر است IsElement

روال عنصر است(d: سند، id: صحیح): منطقی
اگر گره عنصر باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

شمار فرزندان ChildCount

روال شمار فرزندان(d: سند، id: صحیح): صحیح
تعداد فرزندان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

فرزند شماره ChildAt

روال فرزند شماره(d: سند، id: صحیح، index: صحیح): صحیح
شناسه‌ی فرزند شماره‌ی index.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

گره‌های فرزند ChildNodes

روال گره‌های فرزند(d: سند، id: صحیح): فهرست گره
همه‌ی فرزندان، از جمله متن‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

عنصرها Elements

روال عنصرها(d: سند، id: صحیح): فهرست گره
فرزندانی که عنصرند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

عنصرهای با نام ElementsNamed

روال عنصرهای با نام(d: سند، id: صحیح، name: رشته): فهرست گره
فرزندان عنصر با نام داده‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نخستین عنصر با نام FirstElementNamed

روال نخستین عنصر با نام(d: سند، id: صحیح، name: رشته): صحیح
نخستین فرزند با نام داده‌شده؛ ‎-1 اگر نباشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نوادگان Descendants

روال نوادگان(d: سند، id: صحیح): فهرست گره
همه‌ی نوادگان، به ترتیب سند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

نیاکان Ancestors

روال نیاکان(d: سند، id: صحیح): فهرست گره
والد، والدِ والد و تا گره سند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

گره هم‌سطح بعدی NextSibling

روال گره هم‌سطح بعدی(d: سند، id: صحیح): صحیح
گره بعدی با همان والد؛ ‎-1 اگر نباشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

گره هم‌سطح قبلی PreviousSibling

روال گره هم‌سطح قبلی(d: سند، id: صحیح): صحیح
گره قبلی با همان والد؛ ‎-1 اگر نباشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

عمق Depth

روال عمق(d: سند، id: صحیح): صحیح
عمق گره؛ عنصر ریشه ۱.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

شمار ویژگی‌ها AttributeCount

روال شمار ویژگی‌ها(d: سند، id: صحیح): صحیح
تعداد ویژگی‌های عنصر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

ویژگی شماره AttributeAt

روال ویژگی شماره(d: سند، id: صحیح، index: صحیح): ویژگی
ویژگی شماره‌ی index.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

ویژگی دارد HasAttribute

روال ویژگی دارد(d: سند، id: صحیح، name: رشته): منطقی
اگر عنصر این ویژگی را داشته باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

مقدار ویژگی AttributeValue

روال مقدار ویژگی(d: سند، id: صحیح، name: رشته): رشته
مقدار ویژگی با نام کامل؛ اگر نباشد، رشته‌ی خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

مقدار ویژگی با فضای نام AttributeValueNS

روال مقدار ویژگی با فضای نام(d: سند، id: صحیح، uri: رشته، local: رشته): رشته
مقدار ویژگی با نشانی فضای نام و نام محلی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

متن Text

روال متن(d: سند، id: صحیح): رشته
همه‌ی متن درون عنصر و نوادگانش، پشت‌سرهم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

متن مستقیم DirectText

روال متن مستقیم(d: سند، id: صحیح): رشته
فقط متن فرزندان مستقیم، بدون متن عنصرهای درونی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

مسیر Path

روال مسیر(d: سند، id: صحیح): رشته
مسیر گره، مثل /library[1]/b:book[1].

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

شمار موجودیت‌ها EntityCount

روال شمار موجودیت‌ها(d: سند): صحیح
تعداد موجودیت‌های تعریف‌شده در DOCTYPE.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

مقدار موجودیت EntityValue

روال مقدار موجودیت(d: سند، name: رشته): رشته
مقدار یک موجودیت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Parse.salam

ساخت عنصر CreateElement

روال ساخت عنصر(d &: سند، name: رشته): صحیح
عنصر تازه‌ای می‌سازد و شناسه‌اش را برمی‌گرداند؛ هنوز به جایی وصل نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

ساخت متن CreateText

روال ساخت متن(d &: سند، text: رشته): صحیح
گره متن تازه‌ای می‌سازد و شناسه‌اش را برمی‌گرداند؛ هنوز به جایی وصل نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

ساخت سی‌دیتا CreateCData

روال ساخت سی‌دیتا(d &: سند، text: رشته): صحیح
بخش CDATA تازه‌ای می‌سازد و شناسه‌اش را برمی‌گرداند؛ هنوز به جایی وصل نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

ساخت توضیح CreateComment

روال ساخت توضیح(d &: سند، text: رشته): صحیح
توضیح تازه‌ای می‌سازد و شناسه‌اش را برمی‌گرداند؛ هنوز به جایی وصل نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

ساخت دستور پردازش CreateProcessingInstruction

روال ساخت دستور پردازش(d &: سند، target: رشته، data: رشته): صحیح
دستور پردازش تازه‌ای می‌سازد و شناسه‌اش را برمی‌گرداند؛ هنوز به جایی وصل نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

افزودن فرزند Append

روال افزودن فرزند(d &: سند، parent: صحیح، child: صحیح)
گره را آخرین فرزند والد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

درج پیش از InsertBefore

روال درج پیش از(d &: سند، parent: صحیح، child: صحیح، before: صحیح)
گره را پیش از فرزند before می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

حذف فرزند RemoveChild

روال حذف فرزند(d &: سند، parent: صحیح، child: صحیح): منطقی
فرزند را جدا می‌کند و می‌گوید پیدا شد یا نه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

تنظیم ویژگی SetAttribute

روال تنظیم ویژگی(d &: سند، id: صحیح، name: رشته، value: رشته)
ویژگی را تنظیم یا اضافه می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

حذف ویژگی RemoveAttribute

روال حذف ویژگی(d &: سند، id: صحیح، name: رشته): منطقی
ویژگی را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam

تنظیم متن SetText

روال تنظیم متن(d &: سند، id: صحیح، text: رشته)
همه‌ی فرزندان عنصر را با یک گره متن جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-xml-Build.salam