XML پارسر

XML دستاویزات فوری فارمیٹ، ویلیڈیٹ اور کوئری کریں۔ زیادہ سے زیادہ رفتار اور پرائیویسی کے لیے نیٹو براؤزر API پر چلتا ہے۔

فارمیٹ اور منی فائی XPath کوئری ویلیڈیشن

XML پارسر کا استعمال کیسے کریں

1

اپنا XML پیسٹ کریں

اپنا XML مواد کاپی کر کے ان پٹ فیلڈ میں پیسٹ کریں، یا نمونہ XML لوڈ کریں پر کلک کریں۔

2

فارمیٹ اور ویلیڈیٹ

خوشنما بنانے کے لیے فارمیٹ، کمپریس کے لیے منی فائی، ایرر چیک کے لیے ویلیڈیٹ استعمال کریں۔

3

XPath سے کوئری

ایک XPath ایکسپریشن لکھیں اور مخصوص نوڈ نکالنے کے لیے XPath چلائیں پر کلک کریں۔

XML کیا ہے؟

XML (eXtensible Markup Language) ایک مارک اپ زبان ہے جو دستاویزات کو ایسے فارمیٹ میں انکوڈ کرنے کے اصولوں کا سیٹ بیان کرتی ہے جو انسان اور مشین دونوں پڑھ سکیں۔ کنفیگریشن فائلوں، ڈیٹا ایکسچینج (SOAP, RSS, Atom) اور دستاویز ذخیرہ کاری میں بکثرت استعمال ہوتی ہے۔

XML کی نمایاں خصوصیات

خود بیان کرنے والی

XML ڈیٹا ساخت بیان کرنے کے لیے حسب ضرورت ٹیگ استعمال کرتی ہے، جس سے مواد اور درجہ بندی ایک نظر میں سمجھ آ جاتی ہے۔

پلیٹ فارم سے آزاد

سادہ متن کے طور پر XML ہر پلیٹ فارم، پروگرامنگ زبان اور سسٹم پر بغیر مطابقت کے مسئلے کے کام کرتی ہے۔

توسیع پذیر

DTD یا XML Schema سے آپ کسی بھی ڈیٹا ماڈل کے مطابق اپنے ٹیگ اور دستاویز ساخت بیان کر سکتے ہیں۔

عام سوالات

ویل-فارمد اور ویلیڈ XML میں کیا فرق ہے؟

ویل-فارمد XML بنیادی XML نحوی اصولوں پر چلتی ہے (درست نیسٹنگ، بند ٹیگ، واحد روٹ ایلیمنٹ)۔ ویلیڈ XML ویل-فارمد بھی ہوتی ہے اور ایسے اسکیما (DTD, XSD) کے مطابق بھی جو اجازت شدہ ساخت اور ڈیٹا ٹائپس بیان کرتا ہے۔

کیا یہ ٹول XSD اسکیما کے خلاف ویلیڈیٹ کرتا ہے؟

نہیں، یہ ٹول صرف ویل-فارمدنیس (نحو کی درستی) چیک کرتا ہے۔ DTD یا XSD کے خلاف اسکیما پر مبنی ویلیڈیشن براؤزر میں نیٹو طور پر معاون نہیں۔

کون سا XPath ورژن معاون ہے؟

براؤزر کا نیٹو document.evaluate() XPath 1.0 معاون ہے۔ اس میں axes، predicates اور contains(), text(), @attribute جیسے فنکشنز سمیت عام کوئریز کی اکثریت آ جاتی ہے۔

XML نیمسپیسز کیا ہیں اور انہیں کیسے پڑھا جاتا ہے؟

نیمسپیس xmlns ایٹریبیوٹس کے ذریعے ایلیمنٹ ناموں کو ایک URI سے جوڑتا ہے - مثلاً ایک atom:feed ایلیمنٹ xmlns:atom="http://www.w3.org/2005/Atom" کا اعلان کرتا ہے۔ پریفکس کوئی بھی ہو سکتا ہے؛ صرف URI ہی نیمسپیس کی شناخت کرتا ہے، اس لیے دو دستاویزات ایک ہی ذخیرہ الفاظ کے لیے مختلف پریفکس رکھ سکتی ہیں۔ اسی لیے پریفکس مختلف ہوں تو XPath میچنگ میں اکثر local-name() والا طریقہ لگتا ہے۔

XPath نوڈز کا انتخاب کیسے کرتا ہے؟

XPath 1.0 ایکسپریشنز ٹری پر چلتے ہیں: /rss/channel/item راستے سے منتخب کرتا ہے، //item دستاویز میں کہیں بھی item تلاش کرتا ہے، item[@type='news'] ایک ایٹریبیوٹ پر فلٹر کرتا ہے، اور item[1] یا item[last()] جیسے predicates مخصوص نوڈ چنتے ہیں۔ یہی XSLT، بے شمار ٹیسٹ فریم ورکس اور اس ٹول کے ایویلیوایٹر کے پیچھے کی کوئری زبان ہے۔

XXE کیا ہے اور کیا یہ اس ٹول کو متاثر کر سکتا ہے؟

XXE (XML External Entity) انجیکشن فائل پاتھ یا URL کی طرف اشارہ کرتے DTD entity کا غلط استعمال کر کے سرور سائیڈ پارسر سے اسے حاصل کرواتا ہے - ماضی میں /etc/passwd یا اندرونی سروسز لیک ہوئے ہیں۔ براؤزر کے XML پارسر بیرونی entity حل نہیں کرتے، اور یہ ٹول سرور کے بغیر مکمل طور پر آپ کے براؤزر میں چلتا ہے، اس لیے پیسٹ کیا گیا XML فائل پڑھنا یا SSRF ٹرگر نہیں کر سکتا۔

DOM اور SAX پارسنگ میں کیا فرق ہے؟

DOM پوری دستاویز ایک ٹری میں لوڈ کرتا ہے جسے آپ بے ترتیب نیویگیٹ کر سکتے ہیں - بدیہی مگر عظیم فائلوں کے لیے میموری خور۔ SAX ایک ہی پاس میں ایونٹس (اسٹارٹ ٹیگ، ٹیکسٹ، اینڈ ٹیگ) مستقل میموری کے ساتھ اسٹریم کرتا ہے - تیز مگر صرف آگے کی طرف۔ براؤزر JavaScript میں DOMParser (DOM طرز) ملتا ہے؛ JavaScript میں اسٹریمنگ XML کے لیے لائبریری یا Web Streams درکار ہیں۔

XML مواد میں < یا & کیسے شامل کروں؟

عام متن میں انہیں &lt; اور &amp; کے طور پر ایسکیپ کریں - کریکٹر ڈیٹا میں خام < اور & غیر قانونی ہیں۔ مارک اپ سے بھرپور متن کے بلاکس کے لیے CDATA سیکشن میں لپیٹ دیں، جس کے آخر میں ]]> تسلسل نہ آئے تب تک کوئی ایسکیپنگ نہیں چاہیے۔ مواد میں صرف < اور & لازمی ہیں؛ > صرف اُس وقت ایسکیپ کرنا ہوتا ہے جب وہ وہی اختتامی تسلسل بناتا ہو۔

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}