XML: یہ کیا ہے، دستاویز کی ساخت اور کام کرنے کا اصول

مصنف: IT Sectr اشاعت: 2026-03-08 مطالعے کا وقت: 8 منٹ

XML (eXtensible Markup Language) ایک ٹیکسٹ فارمیٹ ہے جو کسٹم ٹیگز کا استعمال کرتے ہوئے ساختہ ڈیٹا کو ذخیرہ کرنے اور منتقل کرنے کے لیے ہے۔ یہ کنفیگریشن فائلوں، ویب سروسز اور Android ڈویلپمنٹ میں وسیع پیمانے پر استعمال ہوتا ہے۔ W3C کنسورشیم کے مطابق، XML تفصیلات 2008 سے ایک مستحکم معیار ہے۔ XML اسکیما کے ذریعے توثیق کی صلاحیت کے ساتھ ایک سخت ڈیٹا ڈھانچہ فراہم کرتا ہے۔

اہم نکات

  • XML — ساختہ ڈیٹا کے لیے کسٹم ٹیگز کے ساتھ ایک توسیع پذیر مارک اپ زبان
  • سخت ساخت — لازمی اختتامی ٹیگز، جڑ عنصر اور XSD کے ذریعے توثیق
  • نام کی جگہیں — ایک دستاویز میں ناموں کے تصادم سے بچنے کا طریقہ کار
  • XSLT — XML کی دوسری فارمیٹس میں تبدیلی: HTML, PDF, CSV
  • Android ڈویلپمنٹ — XML لے آؤٹ، مینی فیسٹ اور وسائل کے لیے استعمال ہوتا ہے

XML کیا ہے؟

XML ایک مارک اپ زبان ہے جو دستاویزات کو ایک ایسی فارمیٹ میں انکوڈ کرنے کے لیے قوانین کا ایک مجموعہ متعین کرتی ہے جو انسان اور مشین دونوں پڑھ سکیں۔ HTML کے برعکس، XML میں ٹیگز کا کوئی مقررہ سیٹ نہیں ہے — ڈویلپرز ڈیٹا ڈھانچے کے مطابق اپنے ٹیگز بناتے ہیں۔

XML کو W3C کنسورشیم نے 1996 میں SGML (Standard Generalized Markup Language) کے ایک آسان ذیلی سیٹ کے طور پر تیار کیا تھا۔ XML کا بنیادی مقصد مواد کو ڈیٹا پریزنٹیشن سے الگ کرنا ہے۔ HTML کے برعکس، جو ظاہری شکل کو بیان کرتا ہے، XML ڈیٹا کی ساخت اور معنی کو بیان کرتا ہے۔

XML کی کلیدی خاصیت توسیع پذیری ہے۔ اگر کسی پروجیکٹ میں ڈیٹا کی نئی اقسام ابھرتی ہیں، تو ڈویلپر موجودہ ڈھانچے کو تبدیل کیے بغیر نئے ٹیگز شامل کرتا ہے۔ یہ XML کو طویل مدتی ڈیٹا اسٹوریج اور مختلف سسٹمز کے درمیان تبادلے کے لیے آسان بناتا ہے۔

XML کے استعمال کے اہم شعبے

  • Android ڈویلپمنٹ — لے آؤٹ فائلیں، مینی فیسٹ، وسائل (strings, colors, themes)
  • کنفیگریشن — Maven POM, Ant build, ویب کنفیگز (web.xml)
  • ویب سروسز — SOAP, XML-RPC, RSS/Atom فیڈز
  • دستاویزی ورک فلو — SVG, DocBook, Office Open XML
  • ڈیٹا بیس — SQL Server (XML قسم), Oracle, PostgreSQL

XML کا نحو اور ساخت

XML کا نحو HTML سے زیادہ سخت ہے۔ ہر کھلنے والے ٹیگ کا ایک متعلقہ بند ہونے والا ٹیگ ہونا چاہیے، خصوصیات کو کوٹیشن مارکس میں رکھا جاتا ہے، اور ٹیگ کے نام کیس حساس ہوتے ہیں۔ دستاویز میں بالکل ایک جڑ عنصر ہونا چاہیے جو باقی سب کو رکھتا ہے۔

ایک XML دستاویز XML ورژن اور انکوڈنگ کی وضاحت کرنے والے اعلامیے سے شروع ہو سکتی ہے۔ اس کے بعد جڑ عنصر آتا ہے، جس کے اندر نیسٹڈ عناصر، خصوصیات، متنی مواد اور تبصرے ہو سکتے ہیں۔ خالی عناصر کو <element /> کے طور پر لکھا جاتا ہے۔

xml
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
    <book id="bk001">
        <title>XML Developer Guide</title>
        <author>John Smith</author>
        <price currency="USD">29.99</price>
        <published>2026-03-15</published>
    </book>
    <book id="bk002">
        <title>Advanced XML Schemas</title>
        <author>Jane Doe</author>
        <price currency="USD">49.99</price>
        </book>
</catalog>

اچھی طرح تشکیل شدہ XML کے قواعد

اچھی طرح تشکیل شدہ (Well-formed) XML کو بنیادی قواعد پر عمل کرنا چاہیے: ہر کھلنے والے ٹیگ کے لیے بند ہونے والا ٹیگ لازمی ہے، نیسٹنگ سخت ہے (ٹیگ اوورلیپنگ ممنوع ہے)، خصوصیت کی قدریں ہمیشہ کوٹیشن مارکس میں ہوتی ہیں۔ کسی بھی قاعدے کی خلاف ورزی دستاویز کو غلہ اور ناقابل پارس بنا دیتی ہے۔

  1. ایک جڑ عنصر — دستاویز میں بالکل ایک جڑ ہوتی ہے
  2. درست نیسٹنگ — ٹیگز کو اوورلیپ نہیں ہونا چاہیے
  3. بند ہونے والے ٹیگز — خود بند ہونے والے عناصر کے علاوہ سب کے لیے لازمی
  4. کیس حساسیت — <Book> اور <book> مختلف عناصر ہیں
  5. خصوصیات میں کوٹیشن مارکس — خصوصیت کی قدریں ڈبل یا سنگل کوٹیشن میں

XML کی نام کی جگہیں اور اسکیما

XML نام کی جگہیں نام کے تصادم کے مسئلے کو حل کرتی ہیں جب ایک دستاویز میں مختلف لغات کے عناصر استعمال کیے جاتے ہیں۔ ایک نام کی جگہ xmlns خصوصیت کے ذریعے ایک URI کے ساتھ متعین کی جاتی ہے جو لغت کی منفرد شناخت کرتی ہے۔

XML Schema (XSD) ایک XML دستاویز کی ساخت کو بیان کرنے والی زبان ہے۔ XSD متعین کرتا ہے کہ کون سے عناصر اور خصوصیات کی اجازت ہے، ان کی ڈیٹا کی اقسام، لازمی حیثیت اور پابندیاں۔ اسکیما پروسیسنگ سے پہلے خودکار دستاویز کی توثیق کی اجازت دیتے ہیں، جو انضمام کے حل کے لیے اہم ہے۔

ٹیکنالوجی مقصد مثال
DTD بنیادی ساخت کی توثیق پرانا، کم صلاحیتیں
XSD سخت ٹائپنگ اور توثیق صنعتی معیار
RELAX NG XSD کا کمپیکٹ متبادل XSD سے آسان اور زیادہ پڑھنے کے قابل
XSLT XML کی دوسری فارمیٹس میں تبدیلی XML سے HTML, PDF, CSV
XPath نیویگیشن اور نوڈ سلیکشن XML درخت سے استفسارات

موبائل ڈویلپمنٹ میں XML

XML Android ڈویلپمنٹ میں ایک اہم کردار ادا کرتا ہے۔ Android آپریٹنگ سسٹم صارف انٹرفیس (لے آؤٹ فائلیں)، ایپلیکیشن کنفیگریشن (AndroidManifest.xml)، وسائل (strings, colors, themes) اور ویکٹر گرافکس (VectorDrawable) کو بیان کرنے کے لیے XML استعمال کرتا ہے۔ iOS پر، XML کم کثرت سے استعمال ہوتا ہے، بنیادی طور پر Storyboard اور کنفیگریشن plist فائلوں کے لیے۔

Android میں، ہر ایپلیکیشن اسکرین View اجزاء (ConstraintLayout, LinearLayout, TextView, Button) کے درجہ بندی کے ساتھ ایک XML فائل سے بیان کی جاتی ہے۔ یہ طریقہ ایپلیکیشن منطق کو پیشکش سے الگ کرتا ہے، دیکھ بھال اور مختلف اسکرینوں کے لیے موافقت کو آسان بناتا ہے۔ وسائل کی XML فائلیں کوڈ کو تبدیل کیے بغیر ایپلیکیشن کے لوکلائزیشن کی اجازت دیتی ہیں۔

Android لے آؤٹ کی مثال

ایک عام لے آؤٹ فائل میں نیسٹڈ عناصر کے ساتھ ایک جڑ ConstraintLayout ہوتا ہے، ہر ایک میں پوزیشن، سائز اور اسٹائل کی خصوصیات ہوتی ہیں۔ Android شروع میں کارکردگی کو بہتر بنانے کے لیے XML کو AXML بائنری فارمیٹ میں کمپائل کرتا ہے۔

xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/welcome"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/click"
        app:layout_constraintTop_toBottomOf="@id/title"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

موبائل پلیٹ فارمز پر XML پارسنگ

XML پارسنگ موبائل پلیٹ فارمز پر دو اہم طریقوں سے کی جاتی ہے: DOM (Document Object Model) پوری دستاویز کو میموری میں ایک درخت کے طور پر لوڈ کرتا ہے، SAX (Simple API for XML) دستاویز کو سٹریم کر کے پڑھتا ہے، ایونٹ ہینڈلرز کو کال کرتا ہے۔ DOM چھوٹی دستاویزات کے لیے آسان ہے، SAX میموری کی حدود والی بڑی فائلوں کے لیے۔

Android میں بلٹ ان پارسرز ہیں: سٹریم پارسنگ کے لیے XmlPullParser اور DOM طریقہ کے لیے DocumentBuilder۔ iOS ڈیلیگیٹ پروٹوکول کے ساتھ Foundation XMLParser استعمال کرتا ہے۔ اشیاء کو XML میں سیریلائز کرنے کے لیے، PHP میں SimpleXML یا Java میں Jackson XML جیسی لائبریریاں استعمال ہوتی ہیں۔

Android پر XML پارسنگ (Kotlin)

Android موثر XML پارسنگ کے لیے XmlPullParser استعمال کرنے کی سفارش کرتا ہے۔ پارسر ایونٹ سے چلنے والے موڈ میں کام کرتا ہے: اگلے عنصر پر جانے کے لیے next() کو کال کرتا ہے اور ایونٹ کی قسم (START_TAG, TEXT, END_TAG) لوٹاتا ہے۔ یہ کم سے کم میموری استعمال کے ساتھ کسی بھی سائز کی دستاویزات پر کارروائی کرنے کی اجازت دیتا ہے۔

kotlin
import org.xmlpull.v1.XmlPullParser
import org.xmlpull.v1.XmlPullParserException
import java.io.IOException

fun parseCatalog(parser: XmlPullParser): List<Book> {
    val books = mutableListOf<Book>()
    var eventType = parser.getEventType()
    var currentBook: Book? = null

    while (eventType != XmlPullParser.END_DOCUMENT) {
        when (eventType) {
            XmlPullParser.START_TAG -> {
                when (parser.getName()) {
                    "book" -> currentBook = Book()
                    "title" -> parser.next()
                    "author" -> parser.next()
                }
            }
            XmlPullParser.TEXT -> {
                currentBook?.apply {
                    title = parser.getText() ?: ""
                }
            }
            XmlPullParser.END_TAG -> {
                if (parser.getName() == "book") {
                    currentBook?.let { books.add(it) }
                }
            }
        }
        eventType = parser.next()
    }
    return books
}

ایپلیکیشنز میں XML کی مثالیں

XML کے استعمال کی مثالیں حقیقی پروجیکٹس میں اس کے کردار کو ظاہر کرتی ہیں۔ Android ڈویلپمنٹ کے علاوہ، XML بلڈ کنفیگریشن، ڈیٹا کی وضاحت اور دستاویزی ورک فلو کے لیے استعمال ہوتا ہے۔ XML نحو کو سمجھنا Maven، SOAP سروسز اور بہت سے انٹرپرائز ٹولز کے ساتھ کام کرنے کے لیے ضروری ہے۔

Maven کنفیگریشن (POM)

pom.xml فائل Maven پروجیکٹ کو بیان کرتی ہے: انحصار، پلگ ان، ورژن اور بلڈ پروفائلز۔ ہر انحصار groupId، artifactId اور version ٹیگز کے ساتھ مخصوص کیا جاتا ہے۔ Maven خود بخود مخصوص لائبریریوں کو ریپوزٹریز سے ڈاؤن لوڈ کرتا ہے۔

xml
<?xml version="1.0" encoding="UTF-8"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>com.squareup.retrofit2</groupId>
            <artifactId>retrofit</artifactId>
            <version>2.9.0</version>
        </dependency>
    </dependencies>
</project>

XML بمقابلہ JSON: کب کیا چنیں

XML اور JSON کے درمیان انتخاب پروجیکٹ کی مخصوص ضروریات پر منحصر ہے۔ JSON REST API، موبائل ایپلیکیشنز اور کنفیگریشنز کے لیے موزوں ہے جہاں کمپیکٹ پن اور رفتار اہم ہے۔ XML انٹرپرائز سسٹمز، دستاویزی ورک فلو اور Android ڈویلپمنٹ میں ناگزیر ہے، جہاں سخت توثیق، نام کی جگہیں اور ڈیٹا کی تبدیلی کی ضرورت ہوتی ہے۔

XML طویل مدتی دستاویز ذخیرہ کرنے کے منظرناموں میں جیتتا ہے۔ XSD اسکیما کی بدولت، XML دستاویزات خود بخود توثیق کی جا سکتی ہیں، جو طبی، مالی اور قانونی نظاموں کے لیے اہم ہے۔ XSLT تبدیلیاں ایک واحد XML ماخذ سے HTML، PDF اور دیگر فارمیٹس تیار کرنے کی اجازت دیتی ہیں، جو دستاویزی ورک فلو کو آسان بناتا ہے۔

JSON، اس کے برعکس، ویب APIs اور موبائل ایپلیکیشنز کے لیے معیار بن گیا ہے۔ JavaScript کے ساتھ انضمام میں آسانی، چھوٹا سائز اور تیز پارسنگ رفتار JSON کو REST API، WebSocket پیغامات اور کنفیگریشن فائلوں کے لیے ترجیحی انتخاب بناتی ہے۔ زیادہ تر نئے پروجیکٹس کے لیے، JSON سے شروع کرنے اور صرف مخصوص ضروریات پیدا ہونے پر XML پر سوئچ کرنے کی سفارش کی جاتی ہے۔

اکثر پوچھے گئے سوالات

XML HTML سے کیسے مختلف ہے؟

XML ڈیٹا کی ساخت اور مواد کو بیان کرتا ہے، HTML ظاہری شکل اور پیشکش کو بیان کرتا ہے۔ XML کسی بھی ٹیگ کو بنانے کی اجازت دیتا ہے، HTML کا ایک مقررہ سیٹ ہے۔ XML نحو میں زیادہ سخت ہے: تمام ٹیگز بند ہونے چاہئیں، HTML بغیر بند کیے ٹیگز کی اجازت دیتا ہے۔ XML ڈیٹا کے لیے، HTML ڈسپلے کے لیے ہے۔

XSD کیا ہے اور اس کی ضرورت کیوں ہے؟

XSD (XML Schema Definition) ایک XML دستاویز کی ساخت کو بیان کرنے والی زبان ہے۔ XSD متعین کرتا ہے کہ کون سے عناصر اور خصوصیات کی اجازت ہے، ان کی ڈیٹا کی اقسام، لازمی حیثیت اور پابندیاں۔ اسکیما پروسیسنگ سے پہلے XML دستاویز کی خودکار توثیق کی اجازت دیتا ہے، غلطیوں کو روکتا ہے اور ڈیٹا کی سالمیت کو یقینی بناتا ہے۔

Android پر XML کیسے پارس کریں؟

Android پر، XML پارسنگ کے لیے XmlPullParser استعمال کریں — ایک بلٹ ان سٹریمنگ پارسر۔ یہ ایونٹ سے چلنے والے طریقے سے کام کرتا ہے: ایک لوپ میں START_TAG، TEXT اور END_TAG پر کارروائی کرتا ہے، میموری کو موثر طریقے سے منظم کرتا ہے۔ چھوٹی دستاویزات کے لیے، DocumentBuilderFactory کے ذریعے DOM پارسر موزوں ہے، جو پوری دستاویز کو نوڈ درخت کے طور پر میموری میں لوڈ کرتا ہے۔

DTD اور XSD میں کیا فرق ہے؟

DTD (Document Type Definition) ایک پرانا توثیقی طریقہ کار ہے جس میں محدود صلاحیتیں ہیں: یہ ڈیٹا کی اقسام (سب کچھ سٹرنگ ہے) اور نام کی جگہوں کی حمایت نہیں کرتا۔ XSD ڈیٹا کی اقسام (نمبر، تاریخیں، شمار)، نام کی جگہوں اور توسیع پذیری کی حمایت کے ساتھ ایک جدید متبادل ہے۔ XSD خود ایک XML دستاویز ہے، جبکہ DTD اپنا نحو استعمال کرتا ہے۔

XML میں نام کی جگہوں کی ضرورت کیوں ہے؟

نام کی جگہیں نام کے تصادم کو روکتی ہیں جب ایک XML دستاویز مختلف ذرائع سے عناصر کو یکجا کرتی ہے۔ مثال کے طور پر، Android لے آؤٹ میں View ٹیگ android.view اور ایک لائبریری دونوں سے آ سکتا ہے۔ URI کے ساتھ xmlns خصوصیت ہر عنصر اور خصوصیت کے ماخذ کی منفرد شناخت کرتی ہے۔

خلاصہ

  • XML — ساختہ ڈیٹا کے لیے کسٹم ٹیگز کے ساتھ توسیع پذیر مارک اپ زبان
  • سخت نحو — لازمی اختتامی ٹیگز، جڑ عنصر، کیس حساسیت
  • نام کی جگہیں اور XSD اسکیما توثیق فراہم کرتے ہیں اور نام کے تصادم کو روکتے ہیں
  • Android انٹرفیس، وسائل اور ایپلیکیشن کنفیگریشن کے لیے XML استعمال کرتا ہے
  • پارسنگ XmlPullParser (سٹریمنگ) یا DOM (میموری میں) کے ذریعے کی جاتی ہے
  • XSLT XML کو HTML، PDF اور دیگر فارمیٹس میں تبدیل کرنے کی اجازت دیتا ہے
  • REST API میں JSON سے کم مقبول، لیکن XML انٹرپرائز اور Android میں ناگزیر

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں