XML DOM - رینج اکائی

رینج اکائی کو ڈاکومن میں متوالی علاقے کا مطلب ہوتا ہے۔

رینج اکائی

رینج اکائی کو ڈاکومن کا متوالی علاقہ کا مطلب ہوتا ہے، جو یوزر نے براوزر وینڈو میں موس کا استعمال کرکے منتخب کردیگا۔

اگر کوئی عمل داری رینج ماڈول کا تعارف کردیگا تو، تو ڈاکومن اکائیجس نے کریٹ رینج() میتھد، اس کو سیکھنے کیلئے اس کا اپنا رینج اکائی قائم کردیئے جاسکتا ہے۔

توجہ:آئی ای نے غیر متوافق ڈاکومن کریٹ رینج() میتھد کا تعارف کیا ہے، جو رینج انٹر فیس سے مشابهت رکھتا ہے لیکن غیر متوافق ہے۔

رینج انٹر فیس نے ڈاکومن میں ‘مختار’ کی علاقے کو قائم کرنے کیلئے بہت ساری مدد فراہم کی ہیں، اس کے ساتھ ساتھ چند دیگر مدد فراہم کی ہیں جو مختار کی علاقے میں کپت اور پیچ کی عمل کو انجام دیا جاسکتا ہے۔

رینج انٹرفیس کی نمائش، رینج کی سرحد نیٹ کور اور کسٹوم ماسٹر کو حاصل کرنے کا طریقہ فراہم کرتی ہے۔ اس کی مدد سے رینج کی سرحد کو قائم کرنے کا طریقہ فراہم ہوتا ہے۔ دقت کرکے دیکھیجئے کہ رینج کی سرحد کو ڈاکومن یا ڈاکومن فراگمنٹ اکائیمیں نیٹ کوروں میں نیٹ کوروں کا نیٹ کور کیا جاتا ہے جبکہ دائرہ کی سرحد پوائنٹ کا تعین کردیں جبکہ deleteContents()، extractContents()، cloneContents() اور insertNode() کی مدد سے کپت، کپی اور پیچ کی عمل کو انجام دیا جاسکتا ہے۔

جب ڈاکومن کو تبدیل یا منسوخ کردیا جاتا ہے تو، ڈاکومن کا کوئی حصہ کا تمام رینج اکائیاں تبدیل کردیں گی ( اگر ضروری ہو تو)، تاکہ ان کی سرحد پوائنٹ کا اثر برقرار رہے اور وہ ( ممکنہ طور پر ) اسی ڈاکومن کی تکنیک کی نمائندگی کریں جو ان کی جگہ پر موجود تھیں。

مفہوم: دائرہ، سرحد پوائنٹ اور کسٹوم ماسٹر

ایک دائرہ کا دو سرحد پوائنٹ ہوتا ہے، جو ایک شروعاتی پوائنٹ اور ایک خاتماتی پوائنٹ کا مطلب ہوتا ہے۔ ہر سرحد پوائنٹ کو ایک نیٹ کور اور اس نیٹ کور کا کسٹوم ماسٹر کیا جاتا ہے۔ اس نیٹ کور کو عام طور پر ایلیمنٹ نیٹ کور،ڈاکومن نیٹ کوریا ٹیکسٹ نیٹ کورلئکہ ایلیمنٹ نیٹ کور اور ڈاکومن نیٹ کور کیلئے، کسٹوم ماسٹر کو نیٹ کور کا اپنا نیٹ کور کیا جاتا ہے۔ کسٹوم ماسٹر کا 0 کا مطلب یہ ہوتا ہے کہ سرحد پوائنٹ نیٹ کور کا پہلا نیٹ کور سے پہلے ہے۔ کسٹوم ماسٹر کا 1 کا مطلب یہ ہوتا ہے کہ سرحد پوائنٹ نیٹ کور کا پہلا نیٹ کور کے بعد، دوسرے نیٹ کور کے پہلے ہے۔ لیکن اگر سرحد نیٹ کور متن نیٹ کور ہے تو کسٹوم ماسٹر کو متن میں دو اشاروں کے درمیان کا مقام کیا جاتا ہے۔

Range اوبجیکٹ کی کانٹیلی

یہ کانٹیلی رینج اوبجیکٹ کی حدود نکو کس طرح مقابلو کریں

یہ compareBoundaryPoints() میتھد کے پارامتر ہیں how پارامتر کا مجاز مرتبہ:

کانٹیلی وصف
START_TO_START مخصوص رینج کی شروع کی جگہ کے ساتھ موجودہ رینج کی شروع کی جگہ کا مقابلو
START_TO_END مخصوص رینج کی شروع کی جگہ کے ساتھ موجودہ رینج کی ختم کی جگہ کا مقابلو
END_TO_END مخصوص رینج کی ختم کی جگہ کے ساتھ موجودہ رینج کی ختم کی جگہ کا مقابلو
END_TO_START مخصوص رینج کی ختم کی جگہ کے ساتھ موجودہ رینج کی شروع کی جگہ کا مقابلو

Range اوبجیکٹ کا پرائیوٹ

توجہ:تمام پرائیوٹ ایک بار کا ہیں، یہ پرائیوٹ نہیں بند کرسکتے، رینج کا شروع اور ختم کی جگہ بدلنا چاہئے تو setEnd() اور setStart() میتھد کو بند کریں

توجہ:detach() میتھد بند کے بعد، ان پر کسی بھی پڑھنے والی کوشش کے بعد INVALID_STATE_ERR کا کد درج کیا جائے گا DOMException استثنائی.

پرائیوٹ وصف
collapsed اگر رینج کا شروع اور ختم کی جگہ ڈاکومن کے ایک ہی مقام پر ہیں تو صحیح ہوگا، یعنی رینج خالی ہوگا یا پتھر کیا جائے گا
commonAncestorContainer رینج کا شروع اور ختم کی جگہ کا (یعنی ان کے اجداد نود) سب سے گہرائی والا Document نود
endContainer رینج کی ختم کی جگہ کا Document نود
endOffset endContainer میں ختم کی جگہ کا پوزیشن
startContainer رینج کا شروع کی جگہ کا Document نود
startOffset startContainer میں شروع کی جگہ کا پوزیشن

Range اوبجیکٹ کا میتھد

توجہ:اگر رینج کا detach() میتھد بند کیا گیا تو اس کے بعد رینج اوبجیکٹ کا کسی بھی میتھد کو بند کیا جانے پر INVALID_STATE_ERR کا کد درج کیا جائے گا DOMException استثنائی.

میتھد وصف
cloneContents() نئی DocumentFragment اوبجیکٹ فراہم کریں، جو اس رینج کے نمائندہ ڈاکومن علاقے کی کاپی کا نمائندہ ہو
cloneRange() ایک نئی Range اوبجیکٹ قائم کریں، جو موجودہ Range اوبجیکٹ کے ساتھ ساتھ کا ڈاکومن علاقہ کا نمائندہ ہو
collapse() 折叠该范围,使它的边界点重合。
compareBoundaryPoints() مخصوص فاصلے کی حدود کو مقابلو کریں، اس کی ترتیب کو برقرار رکھیں، برقرار رکھنے کا مقصد اس کا پہلا پارامتر کا پارامتر ہوگا، جس کا پارامتر پہلے کے معین کردہ کسی ایک کانٹانت کا پارامتر ہوگا۔
deleteContents() موجود فاصلے کا نمائش کیا جانے والا دسٹینیشن حذف کریں۔
detach() آگاہی دینا کہ عمل میں استعمال کیا جانے والا فاصلہ اب استعمال نہیں کیا جاتا، اور اس کی تلاش بند کردیں سکتے ہیں، اگر اس کی کوشش کی گئی تو اگلے فاصلے کی کوشش میں INVALID_STATE_ERR کا کد جاری رکھا جائے گا۔ DOMException استثنائی.
extractContents() موجود فاصلے کا نمائش کیا جانے والا دسٹینیشن حذف کریں، اور اس کا نمائش کیا جانے والا مواد DocumentFragment کی شکل میں واپس لوڑیں، جو اس کے معاملے میں cloneContents() اور deleteContents() کی کوشش بجائیں تو مشابہت کی جاسکتی ہے۔
insertNode() مخصوص نود کو فاصلے کی شروعات میں داخل کریں۔
selectNode() اس فاصلے کی حدود کو قائم کریں، تاکہ وہ مخصوص نود اور اس کا تمام فرزند شامل کریں۔
selectNodeContents() اس فاصلے کی حدود کو قائم کریں، تاکہ وہ مخصوص نود کا فرزند بن جائیں، لیکن مخصوص نود کا خود کو شامل نہ کریں۔
setEnd() اس فاصلے کی ختم کی جگہ کو مخصوص نود اور آفست پر بنائیں۔
setEndAfter() اس فاصلے کی ختم کی جگہ کو مخصوص نود کے بعد کے قریب بنائیں۔
setEndBefore() اس فاصلے کی ختم کی جگہ کو مخصوص نود سے پہلے کے قریب بنائیں۔
setStart() اس فاصلے کی شروعات کو مخصوص نود میں مخصوص آفست پر بنائیں۔
setStartAfter() اس فاصلے کی شروعات کو مخصوص نود کے بعد کے قریب بنائیں۔
setStartBefore() اس فاصلے کی شروعات کو مخصوص نود سے پہلے کے قریب بنائیں۔
surroundContents() مخصوص نود کو فاصلے کی شروعات میں داخل کریں، بعد میں اس فاصلے میں تمام نودوں کی والد نود کو دوبارہ نامزد کریں تاکہ وہ نئی داخل کردہ نود کا فرزند بن جائیں۔
toString() یہ فاصلہ اس دوسرے دسٹینیشن کا خالص متن نمائش کرتا ہے جس کا نمائش کیا جارہا ہے۔