الفرق بين المراجعتين لصفحة: «JavaScript/Document/createNSResolver»

من موسوعة حسوب
طلا ملخص تعديل
لا ملخص تعديل
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:<code>Document.createNSResolver()‎</code>}}</noinclude>
<noinclude>{{DISPLAYTITLE:<code>Document.createNSResolver()‎</code>}}</noinclude>
يُنشئ التّابع <code>Document.createNSResolver()‎</code> كائنًا من النّوع <code>XPathNSResolver</code> الذي يحلّ مجالات الأسماء مع احترام التعريفات في النّطاق (scope) لعقدة مُحدَّدة.
يُنشئ التّابع <code>Document.createNSResolver()‎</code> كائنًا من النّوع <code>XPathNSResolver</code> الذي يستبين مجالات الأسماء مع احترام التعريفات في النّطاق (scope) لعقدة مُحدَّدة.


==البنية العامة==
==البنية العامة==
سطر 7: سطر 7:
</syntaxhighlight>
</syntaxhighlight>


===المعاملات===
===<code>node‎</code>===
====<code>node‎</code>====
العقدة المراد استعمالها كسياقٍ لحلّ مجال الأسماء.
العقدة المراد استعمالها كسياقٍ لحلّ مجال الأسماء.


===القيمة المعادة===
===<code>nsResolver‎</code>===
====<code>nsResolver‎</code>====
القيمة المعادة، وهي كائنٌ من النّوع <code>XPathNSResolver</code>.
كائنٌ من النّوع <code>XPathNSResolver</code>.


==ملاحظات==
==ملاحظات==
يتبنّى التّابع أي عقدة DOM لحلّ مجالات الأسماء لكي يتمّ تقدير (evaluate) تعبير [[JavaScript/XPath|XPath]] بسهولة حسب سياق العقدة ومكان ظهورها في المستند. هذا المتبنِّي يعمل كالتّابع <code>lookupNamespaceURI‎</code> المعرّف في مواصفة DOM Level 3 على العقد في حلّ رابط URI مجال الأسماء <code>namespaceURI</code> من سابقةٍ (prefix) مُعطاةٍ باستعمال المعلومات المتوفّرة حاليًّا في سلالة العقدة في وقت استدعاء التّابع <code>lookupNamespaceURI</code>. ويقوم كذلك بحلّ سابقة <code>xml</code> الضّمنيّة.
يتبنّى التّابع أي عقدة DOM لحلّ مجالات الأسماء لكي يتمّ تقدير (evaluate) تعبير [[JavaScript/XPath|XPath]] بسهولة حسب سياق العقدة ومكان ظهورها في المستند. هذا المتبنِّي يعمل كالتّابع <code>lookupNamespaceURI‎</code> المعرّف في مواصفة DOM Level 3 على العقد في حلّ رابط URI مجال الأسماء <code>namespaceURI</code> من سابقةٍ (prefix) مُعطاةٍ باستعمال المعلومات المتوافّرة حاليًّا في سلالة العقدة في وقت استدعاء التّابع <code>lookupNamespaceURI</code>. ويقوم كذلك بحلّ سابقة <code>xml</code> الضّمنيّة.


ملاحظة: يُعرّف XPath أسماء QNames دون سابقة لموافقَة العناصر في مجال الأسماء <code>null</code> فقط. ليست هناك من طريقة في XPath للحصول على مجال الأسماء الافتراضيّ المُطبَّق على مرجع عناصر عاديّ (مثلًا،  <code>‎p‎[‎@‎id‎=‎'‎_myid‎'‎]‎</code> لـمجال الأسماء <code>‎xmlns‎=‎'‎http://www.w3.org/1999/xhtml‎'‎</code>). لموافقَة العناصر الافتراضيّة التي يكون مجال أسمائها مُغايرا للقيمة <code>null</code>، فعليك إمّا أن تُحيل إلى عنصرٍ مُعيّن باستخدام نموذج مثل <code>‎‎*‎namespace‎-‎uri‎(‎)‎=‎http:‎/‎/‎www.w3.org/1999/xhtml and ‎name‎(‎)‎=‎p‎[‎@‎id‎=‎'‎_myid‎'‎]‎</code> (وهي [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript#Using_XPath_functions_to_reference_elements_with_its_default_namespace طريقة] تعمل جيّدًا لتعابير XPath الديناميكيّة عندما لا تكون مجالات الأسماء معروفة) أو أن تستعمل اختبارات أسماءٍ ذات سابقات (prefixed name tests)، وإنشاء حالِّ مجالات أسماء رابطٍ السابقة مع مجال الأسماء. اقرأ [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript#Implementing_a_User_Defined_Namespace_Resolver كيفيّة إنشاء حالّ مجالات أسماء] إن أردت استعمال هذه الطريقة.
ملاحظة: يُعرّف XPath أسماء QNames دون سابقة لموافقَة العناصر في مجال الأسماء <code>null</code> فقط. ليست هناك من طريقة في XPath للحصول على مجال الأسماء الافتراضيّ المُطبَّق على مرجع عناصر عاديّ (مثلًا،  <code>‎p‎[‎@‎id‎=‎'‎_myid‎'‎]‎</code> لـمجال الأسماء <code>‎xmlns‎=‎'‎<nowiki>http://www.w3.org/1999/xhtml‎'‎</nowiki></code>). لموافقَة العناصر الافتراضيّة التي يكون مجال أسمائها مُغايرا للقيمة <code>null</code>، فعليك إمّا أن تُحيل إلى عنصرٍ مُعيّن باستخدام نموذج مثل <code>‎‎*‎namespace‎-‎uri‎(‎)‎=‎http:‎/‎/‎www.w3.org/1999/xhtml and ‎name‎(‎)‎=‎p‎[‎@‎id‎=‎'‎_myid‎'‎]‎</code> (وهي [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript#Using_XPath_functions_to_reference_elements_with_its_default_namespace طريقة] تعمل جيّدًا لتعابير XPath الديناميكيّة عندما لا تكون مجالات الأسماء معروفة) أو أن تستعمل اختبارات أسماءٍ ذات سابقات (prefixed name tests)، وإنشاء حالِّ مجالات أسماء رابطٍ السابقة مع مجال الأسماء. اقرأ [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript#Implementing_a_User_Defined_Namespace_Resolver كيفيّة إنشاء حالّ مجالات أسماء] إن أردت استعمال هذه الطريقة.


طُرح التّابع <code>Document.createNSResolver()‎</code>  في مواصفة DOM Level 3.
طُرح التّابع <code>Document.createNSResolver()‎</code>  في مواصفة DOM Level 3.

المراجعة الحالية بتاريخ 11:06، 31 مارس 2018

يُنشئ التّابع Document.createNSResolver()‎ كائنًا من النّوع XPathNSResolver الذي يستبين مجالات الأسماء مع احترام التعريفات في النّطاق (scope) لعقدة مُحدَّدة.

البنية العامة

nsResolver = document.createNSResolver(node);

node‎

العقدة المراد استعمالها كسياقٍ لحلّ مجال الأسماء.

nsResolver‎

القيمة المعادة، وهي كائنٌ من النّوع XPathNSResolver.

ملاحظات

يتبنّى التّابع أي عقدة DOM لحلّ مجالات الأسماء لكي يتمّ تقدير (evaluate) تعبير XPath بسهولة حسب سياق العقدة ومكان ظهورها في المستند. هذا المتبنِّي يعمل كالتّابع lookupNamespaceURI‎ المعرّف في مواصفة DOM Level 3 على العقد في حلّ رابط URI مجال الأسماء namespaceURI من سابقةٍ (prefix) مُعطاةٍ باستعمال المعلومات المتوافّرة حاليًّا في سلالة العقدة في وقت استدعاء التّابع lookupNamespaceURI. ويقوم كذلك بحلّ سابقة xml الضّمنيّة.

ملاحظة: يُعرّف XPath أسماء QNames دون سابقة لموافقَة العناصر في مجال الأسماء null فقط. ليست هناك من طريقة في XPath للحصول على مجال الأسماء الافتراضيّ المُطبَّق على مرجع عناصر عاديّ (مثلًا، ‎p‎[‎@‎id‎=‎'‎_myid‎'‎]‎ لـمجال الأسماء ‎xmlns‎=‎'‎http://www.w3.org/1999/xhtml‎'‎). لموافقَة العناصر الافتراضيّة التي يكون مجال أسمائها مُغايرا للقيمة null، فعليك إمّا أن تُحيل إلى عنصرٍ مُعيّن باستخدام نموذج مثل ‎‎*‎namespace‎-‎uri‎(‎)‎=‎http:‎/‎/‎www.w3.org/1999/xhtml and ‎name‎(‎)‎=‎p‎[‎@‎id‎=‎'‎_myid‎'‎]‎ (وهي طريقة تعمل جيّدًا لتعابير XPath الديناميكيّة عندما لا تكون مجالات الأسماء معروفة) أو أن تستعمل اختبارات أسماءٍ ذات سابقات (prefixed name tests)، وإنشاء حالِّ مجالات أسماء رابطٍ السابقة مع مجال الأسماء. اقرأ كيفيّة إنشاء حالّ مجالات أسماء إن أردت استعمال هذه الطريقة.

طُرح التّابع Document.createNSResolver()‎ في مواصفة DOM Level 3.

انظر أيضًا

مصادر ومواصفات