دليل مرجعي لـ XML

دليل مرجعي لـ XML

节点类型

下面的表格列出了不同的 W3C 节点类型,以及它们可拥有的子元素:

节点类型 الوصف 子元素
Document 表示整个文档(DOM 树的根节点)
  • Element (max. one)
  • ProcessingInstruction
  • Comment
  • DocumentType
DocumentFragment 表示轻量级的 Document 对象,其中容纳了一部分文档。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
DocumentType 向为文档定义的实体提供接口。 None
ProcessingInstruction 表示处理指令。 None
EntityReference 表示实体引用元素。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Element 表示 element(元素)元素
  • Text
  • Comment
  • ProcessingInstruction
  • CDATASection
  • EntityReference
Attr 表示属性。
  • Text
  • EntityReference
Text 表示元素或属性中的文本内容。 None
CDATASection 表示文档中的 CDATA 区段(文本不会被解析器解析) None
Comment 表示注释。 None
العنصر 表示实体。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
الرمز 表示在 DTD 中声明的符号。 None

节点类型 - 所返回的值

下面的表格列出了对每个节点类型来说,nodeName 和 nodeValue 属性可返回的值:

节点类型 nodeName 的返回值 nodeValue 的返回值
Document #document null
DocumentFragment #document fragment null
DocumentType doctype 名称 null
EntityReference 实体引用名称 null
Element element name null
Attr 属性名称 属性值
ProcessingInstruction الهدف 节点的内容
Comment #comment 注释文本
Text #text محتوى العنصر
CDATASection #cdata-section محتوى العنصر
العنصر اسم العنصر null
الرمز اسم الرمز null

أنواع العناصر - مستقرة

نوع العنصر مستقرة
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE

العمود الرفيع

مثل Node في XML DOM

خصائص العنصر

الخصائص الوصف
خصائص يحتوي على خصائص العنصر (إذا كان العنصر عنصرًا).
baseURI يعود URI الأساس للعنصر.
childNodes يعود قائمة العناصر الفرعية للعنصر.
firstChild يعود العنصر الفرعي الأول للعنصر.
lastChild يعود العنصر الفرعي الأخير للعنصر.
nextSibling يعود العنصر الشقيق الذي يلي العنصر.
nodeName إرجاع اسم العنصر بناءً على نوعه.
nodeType إرجاع نوع العنصر.
nodeValue تعيين أو إرجاع قيمة العنصر بناءً على نوعه.
ownerDocument يعود العنصر الجذر (عنصر document).
parentNode يعود العنصر الأب للعنصر.
prefix يضبط أو يعود مسبق المساحة للعنصر.
previousSibling يعود العنصر الشقيق الذي يلي العنصر.
textContent يضبط أو يعود محتوى النص للعنصر وأبنائه.

طرق العنصر

الطريقة الوصف
appendChild() يضيف عناصر فرعية جديدة إلى نهاية قائمة عناصر الفرع.
cloneNode() تكرار العنصر.
compareDocumentPosition() يقارن مواقع العناصر في بنية DOM (الوثيقة).
getFeature(feature,version) يعود DOM العنصر الذي يتحقق من الخصائص والإصدار المحدد.
getUserData(key)

يعود العنصر المرتبط بالمفتاح على العنصر.

على الأصح، يجب أولاً إعداد العنصر هذا في العنصر، باستخدام setUserData مع نفس المفتاح.

hasAttributes() إذا كان العنصر المحدد له خصائص، فيرجع true، وإلا فيرجع false.
hasChildNodes() إذا كان العنصر المحدد له عناصر فرعية، فيرجع true، وإلا فيرجع false.
insertBefore() يضيف عناصر فرعية جديدة قبل العنصر الفرعي المحدد.
isDefaultNamespace(URI) يحقق ما إذا كان URI المحدد هو المساحة الافتراضية.
isEqualNode() يفحص ما إذا كانت العقدتين متطابقتين.
isSameNode() يحقق ما إذا كانت العناصران نفس العنصر.
lookupNamespaceURI() يعود URI المساحة المرتبطة بالمسبق المحدد.
lookupPrefix() يعود المسبق لاسم المساحة المرتبطة بURI المحدد.
normalize() يندمج العناصر النصية المجاورة وي�除 العناصر النصية الفارغة.
removeChild() ي�除 العنصر الفرعي المحدد (ويرجع) من العنصر الحالي.
replaceChild() يستبدل العنصر الجديد بعنصر الفرع.
setUserData(key,data,handler) يرتبط العنصر بمفتاح في العنصر.

العمود الرفيع

مثل NodeList في XML DOM

خصائص العنصر القائمة على قائمة العناصر

الخصائص الوصف
length يعود عدد العناصر في قائمة العناصر.

طرق العنصر القائمة على قائمة العناصر

الطريقة الوصف
item() يعود العنصر الموجود في موقع العدد المحدد في قائمة العناصر.

العمود الرفيع

مثل NamedNodeMap في XML DOM

سمات جسم السمات

الخصائص الوصف
length رجوع عدد العناصر في القائمة.

طريقة جسم السمات

الطريقة الوصف
getNamedItem() رجوع العلامة المحددة بناءً على الاسم.
getNamedItemNS() رجوع العلامة المحددة بناءً على الاسم والمساحة الاسميّة.
item() رجوع العلامة في الموضع المحدد.
removeNamedItem() حذف العلامة المحددة بناءً على الاسم.
removeNamedItemNS() حذف العلامة المحددة بناءً على الاسم والمساحة الاسميّة.
setNamedItem() تعيين العلامة المحددة (بناءً على الاسم).
setNamedItemNS() تعيين العلامة المحددة (بناءً على الاسم والمساحة الاسميّة).

العمود الرفيع

مثل Document في XML DOM

سمات جسم الوثيقة

الخصائص الوصف
childNodes رجوع NodeList للعلامات الفرعيّة للوثيقة.
doctype رجوع تصريح نوع الوثيقة المعلق مع الوثيقة.
documentElement رجوع العلامة الجذريّة للوثيقة.
documentURI تعيين أو رجوع موقع الوثيقة.
domConfig رجوع الإعدادات المستخدمة لـ normalizeDocument().
firstChild رجوع العلامة الأولى للوثيقة.
implementation رجوع جسم تنفيذ DOM.
inputEncoding رجوع طريقة الترميز المستخدمة للوثيقة (أثناء التحليل).
lastChild رجوع العلامة الأخيرة للوثيقة.
nodeName رجوع الاسم للعلامة (تعتمد على نوعها).
nodeType رجوع نوع العلامة.
nodeValue تعيين أو رجوع القيمة للعلامة (تعتمد على نوعها).
xmlEncoding رجوع طريقة الترميز للوثيقة XML.
xmlStandalone تعيين أو رجوع ما إذا كانت الوثيقة مستقلة.
xmlVersion تعيين أو رجوع إصدار XML للوثيقة.

طريقة جسم الوثيقة

الطريقة الوصف
adoptNode() استبدال علامة من وثيقة أخرى في الوثيقة الحاليّة وإرجاع العلامة التي تم استبدالها.
createAttribute() إنشاء علامة خاصّة بناءً على الاسم، وإرجاع الجسم الجديد.
createAttributeNS() إنشاء علامة خاصّة بناءً على الاسم والمساحة الاسميّة، وإرجاع الجسم الجديد.
createCDATASection() إنشاء جزء CDATA.
createComment() إنشاء علامة تعليق.
createDocumentFragment() إنشاء جسم الوثيقة الفارغ ومراجعةة.
createElement() إنشاء نود عنصر.
createElementNS() إنشاء نود عنصر بمنطقية معينة.
createEntityReference() إنشاء عنصر EntityReference ويعود إلى هذا العنصر.
createProcessingInstruction() إنشاء عنصر ProcessingInstruction ويعود إلى هذا العنصر.
createTextNode() إنشاء نود نص.
getElementById() يعود العنصر الذي يحتوي على معرف id المحدد.
getElementsByTagName() يعود NodeList لجميع العناصر التي تحتوي على الاسم المحدد.
getElementsByTagNameNS() يعود NodeList لجميع العناصر التي تحتوي على الاسم والنطاق المحدد.
importNode() استيراد نود من وثيقة أخرى إلى هذه الوثيقة.
normalizeDocument()
renameNode() إعادة تسمية نود العنصر أو نود الخاصية.

خصائص Object DocumentType

لدي كل وثيقة الخاصية DOCTYPE، والتي تكون قيمتها null أو Object DocumentType.

يقدم Object DocumentType واجهة للكيانات المحددة لوثيقة XML.

الخصائص الوصف
name يعود إلى الاسم للDTD.
publicId يعود إلى معرف الجمهور للDTD.
systemId يعود إلى معرف النظام للDTD الخارجي.

طرق Object DocumentImplementation

يقوم Object DOMImplementation بتنفيذ العمليات المستقلة عن نموذج وثيقة DOM.

الطريقة الوصف
createDocument() إنشاء DOM Document جديد للنوع المحدد من وثيقة.
createDocumentType() إنشاء نود DocumentType فارغ.
getFeature() يعود إلى عنصر API الذي يتم تنفيذه للميزات والإصدارات المحددة (إذا كان موجودًا).
hasFeature() تحقق من أن DOM تم تنفيذه يدعم الميزات والإصدارات المحددة.

خصائص عنصر ProcessingInstruction

يعبر عن عنصر ProcessingInstruction.

تعليمات المعالجة هي طريقة تستخدم لتخزين معلومات معالجة محددة في نص وثيقة XML.

الخصائص الوصف
data تعيين أو العودة إلى محتوى التعليمات المعالجة.
الهدف يعود الهدف للتعليمات المعالجة.

العمود الرفيع

مثل Element في XML DOM

خصائص عنصر Element

الخصائص الوصف
خصائص يعود المفردات الخاص بالإлемент.
baseURI يعود URI الأساسي للعنصر.
childNodes يعود NodeList لأطفال العنصر.
firstChild يعود العنصر الأول كطفل للعنصر.
lastChild يعود العنصر الأخير كطفل للعنصر.
localName يعود الجزء المحلي للاسم.
namespaceURI يعود URI المساحة الاسمية للعنصر.
nextSibling يعود العنصر الذي يلي العنصر.
nodeName يعود الاسم للعنصر، اعتمادًا على نوعه.
nodeType إرجاع نوع العنصر.
ownerDocument يعود العنصر الجذر (عنصر المستند).
parentNode يعود العنصر الأب للعنصر.
prefix تعيين أو عودة نطاق الاسم المحدد للعنصر.
previousSibling يعود العنصر الذي يلي العنصر.
schemaTypeInfo يعود معلومات النوع المرتبطة بالعنصر.
tagName يعود الاسم للعنصر.
textContent تعيين أو عودة محتوى النص للعنصر وأطفالهم.

طريقة Element العنصر

الطريقة الوصف
appendChild() إضافة عناصر جديدة كأطفال للنهاية من قائمة أطفال العنصر.
cloneNode() تكرار العنصر.
compareDocumentPosition() مقارنة موقف المستند للمستندات.
getAttribute() يعود قيمة الخاصية.
getAttributeNS() يعود قيمة الخاصية (مع المساحة الاسمية).
getAttributeNode() يعود Attribute العنصر كعنصر.
getAttributeNodeNS() يعود Attribute العنصر (مع المساحة الاسمية) كعنصر.
getElementsByTagName() يعود NodeList للعناصر المطابقة للعنصر المحدد وأطفالها.
getElementsByTagNameNS() يعود NodeList للعناصر المطابقة للعنصر المحدد (مع المساحة الاسمية) وأطفالها.
getFeature(feature,version) يعود DOM العنصر الذي يتحقق من الخصائص والإصدار المحدد.
getUserData(key) يعود العنصر المرتبط بكليد المفتاح. يجب أولاً تعيين العنصر إلى هذا العنصر، من خلال استدعاء setUserData باستخدام نفس مفتاح.
hasAttribute() يعود هذا العنصر إذا كان يحتوي على خاصية تطابق الاسم.
hasAttributeNS() يعود هذا العنصر إذا كان يحتوي على خاصية تطابق الاسم والمساحة الاسمية المحددة.
hasAttributes() يعود هذا العنصر إذا كان يحتوي على خصائص.
hasChildNodes() يعود هذا العنصر إذا كان يحتوي على أطفال.
insertBefore() إدراج عقدة فرعية جديدة قبل العقدات الفرعية الحالية.
isDefaultNamespace(URI) يسترجع ما إذا كانت المكانة الاسمية المحددة هي المكانة الاسمية الافتراضية.
isEqualNode() يفحص ما إذا كانت العقدتين متطابقتين.
lookupNamespaceURI() يسترجع URI المكانة الاسمية الذي تطابق المقدمة المحددة.
lookupPrefix() يسترجع المقدمة التي تطابق URI المكانة الاسمية المحددة.
normalize()

يزيل عقدات النص الفارغة ويقوم بدمج العقدات النصية المتجاورة بواسطة طريقة normalize().

تقوم بتحويل جميع عقدات النص في العنصر (بما في ذلك الصفات)، حيث تقوم بفصل عقدات النص باستخدام هيكل فقط (مثل العناصر، التعليقات، تعليمات المعالجة، أجزاء CDATA ومراجع الكيانات).

بمعنى، لا توجد عقدة نصية متجاورة، ولا عقدة نصية فارغة.

removeAttribute() حذف الصفة المحددة.
removeAttributeNS() حذف الصفة المحددة (بمكانة اسمية).
removeAttributeNode() حذف العقدة الفرعية للصفة المحددة.
removeChild() حذف العقدة الفرعية.
replaceChild() استبدال العقدة الفرعية.
setUserData(key,data,handler) ربط الجسم بالعنصر على مفتاح.
setAttribute() إضافة صفة جديدة.
setAttributeNS() إضافة صفة جديدة (بمكانة اسمية).
setAttributeNode() إضافة عقدة صفة جديدة.
setAttributeNodeNS(attrnode) إضافة عقدة صفة جديدة (بمكانة اسمية).
setIdAttribute(name,isId) إذا كانت خاصية isId لجسم Attribute قيمتها true، فإن هذه الطريقة تعلن الخاصية المحددة من قبل المستخدم كصفة ID.
setIdAttributeNS(uri,name,isId) إذا كانت خاصية isId لجسم Attribute قيمتها true، فإن هذه الطريقة تعلن الخاصية المحددة (بمكانة اسمية) كصفة ID المحددة من قبل المستخدم.
setIdAttributeNode(idAttr,isId) إذا كانت خاصية isId لجسم Attribute قيمتها true، فإن هذه الطريقة تعلن الخاصية المحددة من قبل المستخدم كصفة ID.

العمود الرفيع

صفات عنصر Attr

الخصائص الوصف
baseURI يسترجع URI الأساسي للصفة.
isId إذا كانت الصفة من نوع id، فإنها تعود بـ true، وإلا تعود بـ false.
localName يسترجع الجزء المحلي من اسم الصفة.
name يسترجع اسم الصفة.
namespaceURI يسترجع URI المكانة الاسمية للصفة.
nodeName إرجاع اسم العنصر بناءً على نوعه.
nodeType إرجاع نوع العنصر.
nodeValue تعيين أو إرجاع قيمة العنصر بناءً على نوعه.
ownerDocument إرجاع العنصر الجذر (مستند الهدف).
ownerElement إرجاع العنصر المرتبط بالخاصية.
prefix تعيين أو إرجاع المقدمة الاسمية للخاصية.
schemaTypeInfo إرجاع معلومات النوع المتعلقة بالخاصية.
specified

إذا تم تعيين قيمة الخاصية في المستند، فإرجاع true؛

إذا كانت قيمة الخاصية هي القيمة الافتراضية في DTD/Schema، فإرجاع false.

textContent تعيين أو إرجاع محتوى النص الخاصية.
value تعيين أو إرجاع قيمة الخاصية.

العمود الرفيع

مثل Text في XML DOM

خصائص Text الهدف.

الخصائص الوصف
data تعيين أو إرجاع النص للعنصر أو الخاصية.
isElementContentWhitespace تحديد ما إذا كان نود النص يحتوي على محتوى فراغ.
length إرجاع طول النص للعنصر أو الخاصية.
wholeText إرجاع جميع النصوص للنودات النصية المجاورة للنود، متصلة بالترتيب في المستند.

أساليب Text الهدف.

الطريقة الوصف
appendData() إضافة البيانات إلى العنصر.
deleteData() حذف البيانات من العنصر.
insertData() إدراج البيانات في العنصر.
replaceData() استبدال البيانات في العنصر.
replaceWholeText(text) استبدال النص بالكامل بالنص المحدد في العنصر هذا والنودات النصية المجاورة.
splitText() فصل نود Text إلى نودتين.
substringData() استخراج البيانات من العنصر.

العمود الرفيع

مثل CDATASection في XML DOM

خصائص CDATASection الهدف.

الخصائص الوصف
data تعيين أو إرجاع النص للعنصر.
length إرجاع طول جزء CDATA.

أساليب CDATASection الهدف.

الطريقة الوصف
appendData() إضافة البيانات إلى العنصر.
deleteData() حذف البيانات من العنصر.
insertData() إدراج البيانات في العنصر.
replaceData() استبدال البيانات في العنصر.
splitText() فصل نود CDATA إلى نودتين.
substringData() استخراج البيانات من العنصر.

العمود الرفيع

مثل Comment في XML DOM

خصائص Comment الهدف.

الخصائص الوصف
data تعيين أو إرجاع النص للعنصر.
length إرجاع طول النص للعنصر.

أساليب Comment الهدف.

الطريقة الوصف
appendData() إضافة البيانات إلى العنصر.
deleteData() حذف البيانات من العنصر.
insertData() إدراج البيانات في العنصر.
replaceData() استبدال البيانات في العنصر.
substringData() استخراج البيانات من العنصر.

العمود الرفيع

مثل XMLHttpRequest في XML DOM

أساليب XMLHttpRequest الهدف.

الطريقة الوصف
abort() إلغاء الطلب الحالي.
getAllResponseHeaders() إرجاع معلومات الرأس.
getResponseHeader() إرجاع قيمة رأس الرد HTTP المحدد.
open(method,url,async,uname,pswd)

تحديد نوع الطلب، عنوان URL، ما إذا كان يجب معالجة الطلب بشكل غير متزامن بالإضافة إلى خصائص الخيارية الأخرى للطلب.

  • method: نوع الطلب: GET أو POST
  • url: موقع الملف على الخادم
  • async: true (غير متزامن) أو false (متزامن)
send(string)

إرسال الطلب إلى الخادم.

string: يستخدم فقط في الطلبات POST.

setRequestHeader() إضافة زوج من العلامة/القيمة إلى الرأس الذي سيتم إرساله.

خصائص XMLHttpRequest.

الخصائص الوصف
onreadystatechange تخزين الدالة (أو اسم الدالة) التي يتم استدعاؤها تلقائيًا عند تغيير كل منreadyState.
readyState

حفظ حالة XMLHttpRequest. التغييرات من 0 إلى 4:

  • 0: لم يتم تعيين الطلب.
  • 1: تم إنشاء اتصال بالخادم.
  • 2: تم استقبال الطلب.
  • 3: يتم معالجة الطلب.
  • 4: تم إكمال الطلب، واستعداد الاستجابة.
responseText يعود بيانات الاستجابة، كنص.
responseXML يعود بيانات الاستجابة، بتنسيق XML.
status يعود رقم الحالة (مثل "404" يعني "Not Found"، أو "200" يعني "OK").
statusText يعود نص الحالة (مثل "Not Found" أو "OK").

العمود الرفيع

عناصر XSD

عناصر XSLT توضيح
all يحدد أن يمكن للعناصر الفرعية أن تظهر في ترتيب عشوائي، وأن يمكن لكل عنصر أن يظهر صفر مرة أو مرة واحدة.
annotation عنصر annotation هو عنصر رئيسي، يحدد التعليقات في schema.
any يسمح للمؤلفين بتوسيع وثيقة XML من خلال استخدام عناصر لم يتم تحديدها من قبل schema.
anyAttribute يسمح للمؤلفين بتوسيع وثيقة XML من خلال استخدام خاصيات لم يتم تحديدها من قبل schema.
appInfo يحدد المعلومات التي يجب استخدامها من قبل التطبيق في عنصر annotation.
تطبيق النمذجة على العنصر الحالي أو الأبناء. تعريف خاصية.
attributeGroup تعريف مجموعة الخاصية المستخدمة في تعريف نوع المعقد.
choice يسمح فقط بوجود عنصر واحد في <choice> الذي يحتوي على العناصر.
complexContent تعريف توسيع أو تحديد نوع المعقد (بما في ذلك محتوى مختلط أو يحتوي فقط على عناصر).
complexType تعريف نوع معقد.
documentation تعريف التعليقات النصية في schema.
element تعريف العنصر.
extension توسيع العناصر الموجودة من قبل simpleType أو complexType.
field تحديد تعبير XPath، الذي يحدد القيمة المستخدمة لتحديد القيود ال标识ية.
group تحديد مجموعة العناصر المستخدمة في تعريف النوع المعقد.
import إضافة عدة نموذجين إلى وثيقة تحتوي على نطاقات أهداف مختلفة.
include إضافة عدة نموذجين إلى وثيقة تحتوي على نفس نطاق الهدف.
key تحديد أن القيمة للصفة أو العنصر (أو مجموعة القيم) يجب أن تكون مفتاحًا داخل النطاق المحدد.
keyref تحديد أن القيمة للصفة أو العنصر (أو مجموعة القيم) يجب أن تتطابق مع القيمة المحددة للـ key أو العنصر الفريد.
list تحديد بيانات بسيطة كقائمة من القيم للنوع المحدد.
notation وصف تنسيق بيانات غير XML في وثيقة XML.
redefine إعادة تعريف أنواع بسيطة ومعقدة، مجموعات و مجموعات خصائص مستوردة من ملف النموذج الخارجي.
restriction تحديد القيود على simpleType أو simpleContent أو complexContent.
schema تحديد عنصر جذر النموذج.
selector تحديد تعبير XPath، الذي يحدد مجموعة العناصر للقيود ال标识ية.
sequence إلزامية لكل عنصر فرعي بأن يظهر بشكل متسلسل. يمكن للعنصر الفرعي أن يظهر 0 إلى أي عدد.
simpleContent تضمين توسيع أو تحديد لعدة عناصر complexType ولا تحتوي على أي عناصر.
simpleType تحديد نوع بسيط، ينظم القيود ويقدم معلومات حول القيمة للصفة أو العنصر الذي يحتوي فقط على النص.
union تحديد مجموعة من بيانات simpleType
unique تحديد أن القيمة للصفة أو العنصر (أو مجموعة القيمة للصفة أو العنصر) يجب أن تكون فريدة داخل النطاق المحدد.

تحديد القيود على نوع البيانات XSD

الرجوع إلى محدود XSD / الوجوه

تحديد الوصف
enumeration تحديد قائمة بالقيم المقبولة.
fractionDigits تحديد الحد الأعلى لمعدد أرقام النقاط العشرية. يجب أن يكون أكبر أو مساوي لـ 0.
length تحديد العدد المحدد المسموح به لل字符 أو عناصر القائمة. يجب أن يكون أكبر أو مساوي لـ 0.
maxExclusive تحديد الحد الأعلى للعدد. يجب أن تكون القيم المسموح بها أصغر من هذا القيمة.
maxInclusive تحديد الحد الأعلى للعدد. يجب أن تكون القيم المسموح بها أصغر أو مساوية لهذا القيمة.
maxLength تحديد الحد الأقصى المسموح به لل字符 أو عناصر القائمة. يجب أن يكون أكبر أو مساوي لـ 0.
minExclusive تحديد الحد الأدنى للعدد. يجب أن تكون القيم المسموح بها أكبر من هذا القيمة.
minInclusive تحديد الحد الأدنى للعدد. يجب أن تكون القيم المسموح بها أكبر أو مساوية لهذا القيمة.
minLength define the minimum number of characters or list items allowed. Must be greater than or equal to 0.
تحديد عدد الأحرف أو العناصر في القائمة المسموح بها. يجب أن يكون أكبر أو مساويًا ل0. pattern
تحديد سلسلة الأحرف المسموح بها بدقة. totalDigits
تحديد عدد الأرقام العشرية المسموح بها. يجب أن يكون أكبر من 0. whiteSpace

العمود الرفيع

تحديد كيفية معالجة الأحرف المتبقية (الصفحات، النقاط، الأحرف، وتعويذات النص).

عناصر XSLT الوصف
عنصر apply-imports
تطبيق قواعد النمذجة من جدول الأسلوب المصدري. apply-templates
تطبيق النمذجة على العنصر الحالي أو الأبناء. إضافة خاصية إلى العنصر.
attribute-set إنشاء مجموعة من الخصائص المسماة.
call-template نداء نموذج معين.
choose استخدام <when> و <otherwise> معًا لتقديم اختبارات متعددة.
comment إنشاء عقدة تعليق في شجرة النتائج.
copy إنشاء نسخة من العنصر الحالي (بدون الأبناء والأ صفات).
copy-of إنشاء نسخة من العنصر الحالي (مع الأبناء والأ صفات).
decimal-format تحديد الأحرف والرموز التي يجب استخدامها عند تحويل الأرقام إلى 字符串 باستخدام دالة format-number().
element إنشاء عقدة عنصر في مستند الإخراج.
fallback إذا لم يدعم معالج XSLT عنصرًا معينًا، يجب تحديد كود احتياطي للتنفيذ.
for-each مرور كل عنصر في مجموعة العناصر المحددة.
if تضمين نموذج، ويطبق فقط إذا كان هناك شرط معين.
import استخدام جدول الأسلوب لتحميل محتويات جدول آخر.
include تضمين محتويات جدول الأسلوب في جدول آخر.
key إعلان مفتاح مسمى.
message كتابة رسالة إلى الإخراج (لإبلاغ عن الأخطاء).
namespace-alias استبدال مساحة الاسم في جدول الأسلوب بمساحة الاسم المختلفة في الإخراج.
number قياس موقع العنصر الحالي كعدد صحيح، وترتيب الرقم.
otherwise تحديد الحركة الافتراضية للعنصر <choose>.
output تعريف تنسيق مستند الإخراج.
param إعلان معامل محلي أو عالمي.
preserve-space استخدام العناصر التي يجب الحفاظ على الأحرف المتبقية.
processing-instruction إنشاء عقدة أوامر معالجة.
ترتيب ترتيب النتائج.
strip-space تعريف العناصر التي يجب حذف الأحرف المتبقية.
stylesheet يحدد عنصر جذور النمط.
template القواعد التي تطبق عند تطابق العنصر المحدد.
text يولد عناصر نصية من خلال النمط.
transform يحدد عنصر جذور النمط.
value-of يستخرج القيمة من العنصر المحدد.
variable يُعلن المتغيرات المحلية أو العالمية.
when يحدد الفعل للعنصر <choose>.
with-param يحدد القيمة التي يجب إدخالها كمعامل لقالب معين.

العمود الرفيع

وظائف XSLT و XPath و XQuery

وظائف الوصول

الاسم شرح
fn:node-name(node) يعود اسم العنصر للمعامل.
fn:nilled(node) يعود القيمة الحالية للمعامل كقيمة منطقية.
fn:data(item.item,...) يقبل سلسلة من العناصر ويعد سلسلة من القيم الذرية.
  • fn:base-uri()
  • fn:base-uri(node)
يعود قيمة الخاصية base-uri للعنصر الحالي أو العنصر المحدد.
fn:document-uri(node) يعود قيمة الخاصية document-uri للعنصر المحدد.

وظائف الأخطاء والتحقيقات

الاسم شرح
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

مثال: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

النتيجة: تعود إلى البيئة المعالجة الخارجية http://example.com/test#toohigh و النص "Error: Price is too high".

fn:trace(value,label) لتحليل البحث.

وظائف العدد

الاسم شرح
fn:number(arg)

يعود القيمة العددية للمعامل. يمكن أن يكون المعامل قيمة منطقية أو نصية أو مجموعة من العناصر.

مثال: number('100')

النتيجة: 100

fn:abs(num)

يعود القيمة المطلقة للمعامل.

مثال: abs(3.14)

النتيجة: 3.14

مثال: abs(-3.14)

النتيجة: 3.14

fn:ceiling(num)

يعود أكبر عدد صحيح أكبر من معامل num.

مثال: ceiling(3.14)

النتيجة: 4

fn:floor(num)

يعود بأكبر عدد صحيح لا يتجاوز معامل num.

مثال: floor(3.14)

نتيجةً: 3

fn:round(num)

يقوم بجعل معامل num يتشابه مع أكبر عدد صحيح قريب منه.

مثال: round(3.14)

نتيجةً: 3

fn:round-half-to-even()

مثال: round-half-to-even(0.5)

النتيجة: 0

مثال: round-half-to-even(1.5)

نتيجةً: 2

مثال: round-half-to-even(2.5)

نتيجةً: 2

وظائف النص

الاسم شرح
fn:string(arg)

يعود بالنص الممثل للمعامل. يمكن أن يكون المعامل عددًا أو قيمة منطقية أو مجموعة من العقد.

مثال: string(314)

النتيجة: "314"

fn:codepoints-to-string(int,int,...)

يعود بترجمة سلسلة الرموز إلى نص.

مثال: codepoints-to-string(84, 104, 233, 114, 232, 115, 101)

النتيجة: 'Thérèse'

fn:string-to-codepoints(string)

يعود بترجمة النص إلى سلسلة من الرموز.

مثال: string-to-codepoints("Thérèse")

النتيجة: 84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1,comp2) بناءً على التناظر للرمز Unicode، إذا كان قيمة comp1 تساوي قيمة comp2، فإنه يعود بـ true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint)، وإلا يعود بـ false.
  • fn:compare(comp1,comp2)
  • fn:compare(comp1,comp2,collation)

إذا كان comp1 أصغر من comp2، فإنه يعود بـ -1. إذا كان comp1 يساوي comp2، فإنه يعود بـ 0. إذا كان comp1 أكبر من comp2، فإنه يعود بـ 1. (بناءً على القاعدة المتبعة للتناظر).

مثال: compare('ghi', 'ghi')

النتيجة: 0

fn:concat(string,string,...)

يعود بدمج النصوص.

مثال: concat('XPath ','هو ','المرح!')

النتيجة: 'XPath هو المرح!'

fn:الانضمام((النص،النص،...),sep)

استخدام معامل sep كحرف فاصل، ليعيد النص المدمج من معامل string.]}

مثال: string-join(('We', 'are', 'having', 'fun!'), ' ')

النتيجة: ' We are having fun! '

مثال: string-join(('We', 'are', 'having', 'fun!'))

النتيجة: 'Wearehavingfun!'

مثال: string-join((), 'sep')

النتيجة: ''

  • fn:substring(string,start,len)
  • fn:substring(string,start)

يعيد النص المحدد من موقع start. أول موقع هو 1. إذا تم تجاهل معامل len، يعيد النص من موقع start حتى نهاية النص.

مثال: substring('Beatles',1,4)

النتيجة: 'Beat'

مثال: substring('Beatles',2)

النتيجة: 'eatles'

  • fn:string-length(string)
  • fn:string-length()

يعيد طول النص المحدد. إذا لم يكن هناك معامل string، يعيد طول قيمة النص الحالي.

مثال: string-length('Beatles')

النتيجة: 7

  • fn:normalize-space(string)
  • fn:normalize-space()

حذف الفواصل التي تشغل البداية والنهاية من النص المحدد، وإعادة تحويل جميع سلاسل الفواصل الداخلية إلى فاصلة واحدة، ثم رجوع النتيجة. إذا لم يكن هناك معامل string، يتم معالجة النص الحالي.

مثال: normalize-space(' The   XML ')

النتيجة: 'The XML'

fn:normalize-unicode() تنفيذ تحسين Unicode.
fn:upper-case(string)

تحويل معامل string إلى كبير.

مثال: upper-case('The XML')

النتيجة: 'THE XML'

fn:lower-case(string)

تحويل معامل string إلى صغير.

مثال: lower-case('The XML')

النتيجة: 'the xml'

fn:translate(string1,string2,string3)

استبدل النص2 في النص1 بالنص3.

مثال: translate('12:30','30','45')

النتيجة: '12:45'

مثال: translate('12:30','03','54')

النتيجة: '12:45'

مثال: translate('12:30','0123','abcd')

النتيجة: 'bc:da'

fn:escape-uri(stringURI,esc-res)

مثال: escape-uri("http://example.com/test#car", true())

النتيجة: "http%3A%2F%2Fexample.com%2Ftest#car"

مثال: escape-uri("http://example.com/test#car", false())

النتيجة: "http://example.com/test#car"

مثال: escape-uri ("http://example.com/~bébé", false())

النتيجة: "http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

إذا كان النص1 يحتوي على النص2، فإنه يعود true، وإلا يعود false.

مثال: contains('XML','XM')

النتيجة: true

fn:starts-with(string1,string2)

إذا كان النص1 يبدأ بالنص2، فإنه يعود true، وإلا يعود false.

مثال: starts-with('XML','X')

النتيجة: true

fn:ends-with(string1,string2)

إذا كان النص1 ينتهي بالنص2، فإنه يعود true، وإلا يعود false.

مثال: ends-with('XML','X')

النتيجة: false

fn:substring-before(string1,string2)

يعود النص الموجود قبل ظهور النص2 في النص1.

مثال: substring-before('12/10','/')

النتيجة: '12'

fn:substring-after(string1,string2)

يعود النص الموجود بعد ظهور النص2 في النص1.

مثال: substring-after('12/10','/')

النتيجة: '10'

fn:matches(string,pattern)

إذا كانت قيمة النص تتطابق مع النمط المحدد، يُرجع true، وإلا يُرجع false.

مثال: matches("Merano", "ran")

النتيجة: true

fn:replace(string,pattern,replace)

يُستبدل النمط المحدد بمعامل الاستبدال، ويُرجع النتيجة.

مثال: replace("Bella Italia", "l", "*")

النتيجة: 'Be**a Ita*ia'

مثال: replace("Bella Italia", "l", "")

النتيجة: 'Bea Itaia'

fn:tokenize(string,pattern)

مثال: tokenize("XPath is fun", "\s+")

النتيجة: ("XPath", "is", "fun")

وظائف حول anyURI

الاسم شرح
fn:resolve-uri(relative,base)  

وظائف حول القيم البولية

الاسم شرح
fn:boolean(arg) يُرجع القيمة البولية للعدد أو النص أو مجموعة العقد.
fn:not(arg)

أولاً، يتم استعادة المعامل إلى قيمة بولية باستخدام وظيفة boolean().

إذا كانت القيمة البولية false، يُرجع true، وإلا يُرجع true.

مثال: not(true())

النتيجة: false

fn:true()

يُرجع قيمة بولية true.

مثال: true()

النتيجة: true

fn:false()

يُرجع قيمة بولية false.

مثال: false()

النتيجة: false

وظائف حول المدة والتاريخ والوقت

وظائف استخراج مكونات التاريخ والوقت والمدة

الاسم شرح
fn:dateTime(date,time) يُحوّل المعامل إلى تاريخ和时间.
fn:years-from-duration(datetimedur) يُرجع جزء السنة من قيمة المعامل كعدد صحيح، مكتوب بطريقة الكلمات القياسية.
fn:months-from-duration(datetimedur) يُرجع جزء الشهر من قيمة المعامل كعدد صحيح، مكتوب بطريقة الكلمات القياسية.
fn:days-from-duration(datetimedur) يُرجع جزء اليوم من قيمة المعامل كعدد صحيح، مكتوب بطريقة الكلمات القياسية.
fn:hours-from-duration(datetimedur) يعود جزء الساعات للقيمة كعدد صحيح، بالتعريف اللغوي المعياري.
fn:minutes-from-duration(datetimedur) يعود جزء الدقائق للقيمة كعدد صحيح، بالتعريف اللغوي المعياري.
fn:seconds-from-duration(datetimedur) يعود جزء الدقائق للقيمة كعدد عشري، بالتعريف اللغوي المعياري.
fn:year-from-dateTime(datetime)

يعود جزء السنة المحلية للمعامل كعدد صحيح.

مثال: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

النتيجة: 2005

fn:month-from-dateTime(datetime)

يعود جزء الشهر المحلي للمعامل كعدد صحيح.

مثال: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

النتيجة: 01

fn:day-from-dateTime(datetime)

يعود جزء اليوم المحلي للمعامل كعدد صحيح.

مثال: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

النتيجة: 10

fn:hours-from-dateTime(datetime)

يعود جزء الساعات المحلية للمعامل كعدد صحيح.

مثال: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

النتيجة: 12

fn:minutes-from-dateTime(datetime)

يعود جزء الدقائق المحلية للمعامل كعدد صحيح.

مثال: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

النتيجة: 30

fn:seconds-from-dateTime(datetime)

يعود جزء الثواني المحلية للمعامل كعدد عشري.

مثال: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

النتيجة: 0

fn:timezone-from-dateTime(datetime) يتم العودة إلى جزء المنطقة الزمنية للمعامل، إذا كان موجودًا.
fn:year-from-date(date)

يعود القيمة المحلية للمعامل كعدد صحيح يمثل السنة.

مثال: year-from-date(xs:date("2005-04-23"))

النتيجة: 2005

fn:month-from-date(date)

يتم العودة إلى عدد الكسر الذي يمثل جزء الشهر في القيمة المحلية للمعامل.

مثال: month-from-date(xs:date("2005-04-23"))

النتيجة: 4

fn:day-from-date(date)

يتم العودة إلى عدد الكسر الذي يمثل جزء اليوم في القيمة المحلية للمعامل.

مثال: day-from-date(xs:date("2005-04-23"))

النتيجة: 23

fn:timezone-from-date(date) يتم العودة إلى جزء المنطقة الزمنية للمعامل، إذا كان موجودًا.
fn:hours-from-time(time)

يتم العودة إلى عدد الكسر الذي يمثل جزء الساعات في القيمة المحلية للمعامل.

مثال: hours-from-time(xs:time("10:22:00"))

النتيجة: 10

fn:minutes-from-time(time)

يتم العودة إلى عدد الكسر الذي يمثل جزء الدقائق في القيمة المحلية للمعامل.

مثال: minutes-from-time(xs:time("10:22:00"))

النتيجة: 22

fn:seconds-from-time(time)

يتم العودة إلى عدد الكسر الذي يمثل جزء الثواني في القيمة المحلية للمعامل.

مثال: seconds-from-time(xs:time("10:22:00"))

النتيجة: 0

fn:timezone-from-time(time) يتم العودة إلى جزء المنطقة الزمنية للمعامل، إذا كان موجودًا.
fn:adjust-dateTime-to-timezone(datetime,timezone)

إذا كان timezone فارغًا، يتم العودة إلى dateTime بدون توقيت المنطقة الزمنية.

إذا لم يكن timezone محددًا، يتم العودة إلى dateTime المزود بتوقيت المنطقة الزمنية.

fn:adjust-date-to-timezone(date,timezone)

إذا كان timezone فارغًا، يتم العودة إلى date بدون توقيت المنطقة الزمنية.

إذا لم يكن timezone محددًا، يتم العودة إلى date المزود بتوقيت المنطقة الزمنية.

fn:adjust-time-to-timezone(time,timezone)

إذا كان timezone فارغًا، يتم العودة إلى time بدون توقيت المنطقة الزمنية.

إذا لم يكن timezone محددًا، يتم العودة إلى time المزود بتوقيت المنطقة الزمنية.

الوظائف المتعلقة بـ QNames

الاسم شرح
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

دوال النود

الاسم شرح
  • fn:name()
  • fn:name(nodeset)
يعود الاسم للنود الحالية أو الأول في مجموعة النود المحددة.
  • fn:local-name()
  • fn:local-name(nodeset)
يعود الاسم الحالي للنود الحالية أو الأول في مجموعة النود المحددة - بدون مقدمات النامسبي.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
يعود URI للنامسبي للنود الحالية أو مجموعة النود المحددة.
fn:lang(lang)

إذا كان لغة العنصر الحالي تطابق اللغة المحددة، فإنه يعود صحيح.

مثال: Lang("en") هو صحيح لل <p xml:lang="en">...</p>

مثال: Lang("de") هو خطأ لل <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
يعود جذع الشجرة للنود الحالية أو النود المحددة. عادة ما يكون هذا هو نود الوثيقة.

دوال السلاسل

دالة عامة

الاسم شرح
fn:index-of((item,item,...),searchitem)

يعود المواقع في سلسلة العناصر التي تساوي مع معامل البحث searchitem.

مثال: index-of ((15, 40, 25, 40, 10), 40)

النتيجة: (2, 4)

مثال: index-of (("a", "dog", "and", "a", "duck"), "a")

النتيجة (1, 4)

مثال: index-of ((15, 40, 25, 40, 10), 18)

النتيجة: ()

fn:remove((item,item,...),position)

يعود سلسلة جديدة من معامل item - ويتم حذف العنصر المحدد بموقع المعامل.

مثال: remove(("ab", "cd", "ef"), 0)

النتيجة: ("ab", "cd", "ef")

مثال: remove(("ab", "cd", "ef"), 1)

النتيجة: ("cd", "ef")

مثال: remove(("ab", "cd", "ef"), 4)

النتيجة: ("ab", "cd", "ef")

fn:empty(item,item,...)

إذا كان قيمة المعامل فارغة، فإنه يعود صحيح، وإلا يعود خطأ.

مثال: empty(remove(("ab", "cd"), 1))

النتيجة: false

fn:exists(item,item,...)

يعود true إذا كانت قيمة المعرف غير سلسلة فارغة، وإلا يعود false.

مثال: exists(remove(("ab"), 1))

النتيجة: false

fn:distinct-values((item,item,...),collation)

يعود القيم المختلفة فقط.

مثال: distinct-values((1, 2, 3, 1, 2))

النتيجة: (1, 2, 3)

fn:insert-before((item,item,...),pos,inserts)

يعود سلسلة جديدة بناءً على معرف العنصر، ويعاد بناءً على معرف الموقع، ويتم إدراج قيمة معرف الإدراج.

مثال: insert-before(("ab", "cd"), 0, "gh")

النتيجة: ("gh", "ab", "cd")

مثال: insert-before(("ab", "cd"), 1, "gh")

النتيجة: ("gh", "ab", "cd")

مثال: insert-before(("ab", "cd"), 2, "gh")

النتيجة: ("ab", "gh", "cd")

مثال: insert-before(("ab", "cd"), 5, "gh")

النتيجة: ("ab", "cd", "gh")

fn:reverse((item,item,...))

يعود ترتيب العناصر المعينة عكسياً.

مثال: reverse(("ab", "cd", "ef"))

النتيجة: ("ef", "cd", "ab")

مثال: reverse(("ab"))

النتيجة: ("ab")

fn:subsequence((item,item,...),start,len)

يعود سلسلة المواد المحددة من قبل معرف البداية، ومدة السلسلة محددة من قبل معرف الطول.

موقع المشروع الأول هو 1.

مثال: subsequence(($item1, $item2, $item3,...), 3)

النتيجة: ($item3, ...)

مثال: subsequence(($item1, $item2, $item3, ...), 2, 2)

النتيجة: ($item2, $item3)

fn:unordered((item,item,...)) يعود الطلب بناءً على الترتيب المحدد في التنفيذ.

اختبار قدرة السلسلة

الاسم شرح
fn:zero-or-one(item,item,...) إذا كان يحتوي المعامل على مشروعة صفرية أو واحدة، فإنه يعود إلى المعامل، وإلا يُحدث خطأ.
fn:one-or-more(item,item,...) إذا كان يحتوي المعامل على مشروعة واحدة أو أكثر، فإنه يعود إلى المعامل، وإلا يُحدث خطأ.
fn:exactly-one(item,item,...) إذا كان يحتوي المعامل على مشروعة واحدة، فإنه يعود إلى المعامل، وإلا يُحدث خطأ.

المساواة، الاتحاد، الت交汇 والاستثناء

الاسم شرح
fn:deep-equal(param1,param2,collation) إذا كانت param1 و param2 متساويتين (deep-equal)، فإنه يعود إلى true، وإلا يعود إلى false.

وظائف الحساب

الاسم شرح
fn:count((item,item,...)) يعود إلى عدد العقد.
fn:avg((arg,arg,...))

يعود إلى متوسط القيم المعطاة.

مثال: avg((1,2,3))

نتيجةً: 2

fn:max((arg,arg,...))

يعود إلى المعامل الذي هو أكبر من المعامل الآخرين.

مثال: max((1,2,3))

نتيجةً: 3

مثال: max(('a', 'k'))

نتيجةً: 'k'

fn:min((arg,arg,...))

يعود إلى المعامل الذي هو أصغر من المعامل الآخرين.

مثال: min((1,2,3))

نتيجةً: 1

مثال: min(('a', 'k'))

نتيجةً: 'a'

fn:sum(arg,arg,...) يعود مجموع القيم العددية لكل عقدة في مجموعة العقد المحددة.

وظائف توليد السلسلة

الاسم شرح
fn:id((string,string,...),node) يعود سلسلة العناصر التي تحتوي على قيمة ID تساوي واحدة أو أكثر من القيم المحددة في متغير string.
fn:idref((string,string,...),node) يعود سلسلة العناصر أو العقدات التي تحتوي على قيمة IDREF تساوي واحدة أو أكثر من القيم المحددة في متغير string.
fn:doc(URI)  
fn:doc-available(URI) إذا كان يعود doc() إلى عقدة مستندة، فإنه يعود إلى true، وإلا يعود إلى false.
  • fn:collection()
  • fn:collection(string)
 

وظائف السياق

الاسم شرح
fn:position()

يعود مكان العنصر الحالي الذي يتم معالجته.

مثال: //book[position()<=3]

نتيجةً: اختيار العناصر الثلاثة الأولى من book

fn:last()

إرجاع عدد العناصر في قائمة العُقد التي يتم معالجتها.

مثال: //book[last()]

النتيجة: اختيار العنصر الأخير من book

fn:current-dateTime() إرجاع الوقت الحالي (الوقت والتاريخ) مع المنطقة الزمنية.
fn:current-date() إرجاع التاريخ الحالي مع المنطقة الزمنية.
fn:current-time() إرجاع الوقت الحالي مع المنطقة الزمنية.
fn:implicit-timezone() إرجاع قيمة المنطقة الزمنية المضمرة.
fn:default-collation() إرجاع قيمة التموضع الافتراضي.
fn:static-base-uri() إرجاع قيمة base-uri.

دوال XSLT

إضافة إلى ذلك، هناك أيضًا دوال XSLT المدمجة التالية:

الاسم الوصف
current() إرجاع مجموعة العُقد تحتوي على العُقد الحالي كعضو واحد.
document() للوصول إلى العُقد في وثيقة XML الخارجية.
element-available() تحديد ما إذا كان معالج XSLT يدعم العنصر المحدد.
format-number() تحويل الرقم إلى نص.
function-available() تحديد ما إذا كان معالج XSLT يدعم الدالة المحددة.
generate-id() إرجاع قيمة النصوص الفريدة التي تحدد العقدة المحددة.
key() استرجاع العناصر التي تم تسميتها مسبقًا باستخدام جملة <xsl:key>.
node-set تحويل الشجرة إلى مجموعة من العُقد. تكون المجموعة دائمًا تحتوي على عقدة واحدة وهي رأس الشجرة.
system-property() إرجاع قيمة الخصائص النظامية.
unparsed-entity-uri() إرجاع URI لمُنظُر غير المُفسّر.

العمود الرفيع

مُنظُر XML DOM الأخرى

العمود الرفيع