עודכן לאחרונה: 21 May, 2025

מה זה XML?
XML (שפת סימון מתרחבת) הוא שפת סימון ותבנית קובץ המשמשים לאחסון, העברה ושחזור נתונים. היא מספקת גישה מובנית לקידוד מידע, מה שהופך אותה לקריאה הן על ידי בני אדם והן על ידי מכונות.
תכונות מרכזיות של XML
1. מוגדר על ידי תקנים פתוחים
- הוקם על ידי World Wide Web Consortium (W3C) בשנת 1998 תחת מפרט XML 1.0.
- פועל לפי כללים קפדניים כדי להבטיח שהנתונים יהיו מובנים וקלים לפרשנות.
2. יעדי עיצוב
- XML נבנה עם פשטות, כלליות ושימושיות בפלטפורמות שונות.
- משתמש בפורמט מבוסס טקסט, מה שהופך אותו לקל לקריאה ולעריכה.
3. תמיכת Unicode
- XML תומך בUnicode, המאפשר אחסון ועיבוד טקסט במגוון שפות.
4. גמישות
- בתחילה נוצר למסמכים, היום XML משמש לייצוג נתונים במגוון תחומים, כולל שירותי רשת, API‑ים, וקבצי תצורה.
5. סכימות ו‑API
- ניתן להגדיר מבני XML באמצעות Document Type Definition (DTD), XML Schema (XSD) או Relax NG.
- מגוון API‑ים, כגון DOM (Document Object Model) ו‑SAX (Simple API for XML), מאפשרים עיבוד XML.
6. שימושים נפוצים של XML
- החלפת נתונים בין מערכות שונות (למשל שירותי רשת, API‑ים).
- קבצי תצורה ביישומי תוכנה.
- אחסון מידע מובנה (למשל RSS פידים, גרפיקה ב-SVG, פורמטים כמו DOCX).
- פיתוח אינטרנט (למשל XHTML, SOAP, יישומי AJAX).
עכשיו כשאתה יודע מהו XML, למד כיצד לקרוא ולערוך קבצי XML עם המדריך הידידותי למתחילים הזה.
סקירת XML
1. המטרה הראשית של XML: סריאליזציה
סריאליזציה ב‑XML משמעותה:
- אחסון נתונים בפורמט מובנה.
- העברת נתונים בין מערכות שונות.
- שחזור נתונים בצורה ניתנת לשימוש.
כאשר שתי מערכות צריכות להחליף מידע, XML מספק פורמט קובץ מתוקן לאינטראופרביליות. הוא משמש כ**„שפה משותפת”** להחלפת נתונים מובנים.
2. XML כשפת סימון
XML היא שפת סימון, כלומר היא:
- מתייגת נתונים עם תגיות למבנה ברור.
- מאורגנת היררכית.
- מקבצת נתונים עם מטא‑נתונים.
דוגמה:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
כאן, <book>, <title> ו‑<author> הם תגיות המגדירות אלמנטים של הנתונים.
3. סכימת XML (XSD) ואימות
XML Schema (XSD) מגדיר כללים מבניים למסמכי XML.
מסמכי XML יכולים להיות:
- בצורה תקינה → עומדים בכללי תחביר בסיסיים (קידוד נכון, סגירת תגיות).
- תקפים → עומדים בכללי הסכימה (אלמנטים חובה, סוגי נתונים נכונים).
דוגמה לכלל XSD:
<xs:element name="title" type="xs:string"/>
כלל זה מבטיח שלתגית <title> יהיה ערך מחרוזת.
4. סוגי מדיה של XML (RFC 7303)
IETF RFC 7303 מגדיר סוגי מדיה של XML להעברת נתונים:
- application/xml → נתוני XML סטנדרטיים.
- application/xml-external-parsed-entity → ישויות XML מפוענחות.
- application/xml-dtd → מסמכי XML DTD.
בפורמטים מבוססי XML, משתמשים בסיומת +xml (לדוגמה image/svg+xml עבור תמונות SVG).
5. XML ביישומים מרושתים (RFC 3470 / IETF BCP 70)
IETF BCP 70 (RFC 3470) מתאר שיטות מומלצות לשימוש ב‑XML ביישומים מבוססי רשת, ומבטיח אינטראופרביליות חלקה של נתונים בין מערכות.
לעבודה עם XML בתכנות, חקור את הפרסרים הטובים ביותר של XML עבור Python, Java ו‑JavaScript.
1. יישומים של XML
XML היא שפת סימון גמישה המיועדת להחלפת נתונים באינטרנט. תחבירה השפיע על פורמטים רבים ופרוטוקולי תקשורת, והפך אותה לטכנולוגיה יסודית בתעשיות רבות.
פורמטים נפוצים מבוססי XML:
- פידי אינטרנט: RSS, Atom
- מסמכי משרד: Office Open XML, OpenDocument
- גרפיקה ומודלים תלת‑ממדיים: SVG, COLLADA
- טכנולוגיות רשת: XHTML
- פרוטוקולי החלפת נתונים: SOAP, XMPP
- AJAX: משתמש ב‑XML להחלפת נתונים אסינכרונית
תקנים תעשייתיים המשתמשים ב‑XML:
- בריאות: HL7 (Health Level 7)
- תעשיית הנסיעות: OpenTravel Alliance
- פיננסים: FpML (Financial products Markup Language)
- נדל״ן ומשכנתאות: MISMO
- החלפת נתונים ממשלתית: National Information Exchange Model
XML במדע:
במטאורולוגיה, XML משמש לייצוג נתוני מזג אוויר תפעוליים בהתאם לתקני IWXXM. באופן דומה, Darwin Information Typing Architecture (DITA) הוא תקן XML נפוץ בתחום ההוצאה לאור.
ליישום מעשי, עיין במדריך שלנו על איך לקרוא ולערוך XML ב‑Python, Java ו‑JavaScript.
2. מונחים מרכזיים ב‑XML
הבנת המונחים המרכזיים ב‑XML היא קריטית לעבודה יעילה עם מסמכי XML.
תו
מסמך XML הוא רצף של תויות Unicode. XML 1.1 מאפשר כמעט כל תו Unicode, למעט תו האפס (U+0000), האסור בהחלט.
מעבד ויישום
- מעבד XML (או parser) קורא ומנתח את סימון ה‑XML.
- היישום מקבל את הנתונים המובנים מהמעבד ופועל על פיהם.
סימון ותוכן
XML מחלק תווים לסימון ותוכן:
- סימון: כולל אלמנטים, מאפיינים ו‑entities (למשל
<tag>ו‑&). - תוכן: הנתונים בפועל בתוך האלמנטים.
- קטעי CDATA: מאפשרים טקסט שלא צריך להיבנות כסימון, ומוקפים ב-
<![CDATA[ ... ]]>.
תגיות ואלמנטים
- תגיות: מבני סימון המוקפים ב‑
< >.<section>(תגית פתיחה)</section>(תגית סגירה)<line-break />(תגית אלמנט ריק)
- אלמנטים: רכיבים לוגיים המוגדרים על‑ידי תגיות.
- דוגמה:
<greeting>Hello, world!</greeting>
- דוגמה:
מאפיינים
מאפיינים מספקים מטא‑נתונים לאלמנטים באמצעות זוגות שם‑ערך. דוגמה:
<img src="image.jpg" alt="Description" />
src="image.jpg" ו‑alt="Description" הם מאפיינים של אלמנט <img>.
3. תווים והימלטות ב‑XML
תווים חוקיים של Unicode ב‑XML
מסמכי XML מאפשרים רק תווים Unicode מסוימים כדי להבטיח פרסינג תקין.
תווים מותרים ב‑XML 1.0:
- תווי בקרה:
U+0009(טאב)U+000A(שורת קו)U+000D(חזרת קרוס)
- תווי טקסט:
U+0020–U+D7FFU+E000–U+FFFDU+10000–U+10FFFF
שיפורים ב‑XML 1.1:
- מאפשרים את כל תווי הבקרה U+0001–U+001F אך דורשים הימלטות שלהם.
- U+0000 (תו האפס) נשאר אסור.
4. קידוד ב‑XML
קידודים נפוצים של XML:
XML תומך בקידודים מבוססי Unicode, כולל:
- UTF-8 (ברירת מחדל מומלצת)
- UTF-16 (חובה לתמיכה בכל פרסרים של XML)
- ASCII, ISO-8859-X (קידודים ישנים)
הצהרת קידוד ב‑XML:
כותרת ה‑XML יכולה לציין קידוד:
<?xml version="1.0" encoding="UTF-8"?>
- אם לא מצוין קידוד, UTF-8 נחשב כברירת מחדל.
- UTF-16 דורש BOM (Byte Order Mark) לזיהוי תקין.
5. הימלטות תווים מיוחדים ב‑XML
מאחר שסינטקס XML מגדיר תווים מסוימים כמיוחדים, יש להימלט אותם כדי למנוע קונפליקטים.
יישויות XML מוגדרות מראש:
| תו | צורה מוצפנת | דוגמה |
|---|---|---|
< (פחות מ‑) | < | I <3 XML → I <3 XML |
> (גדול מ‑) | > | x > y → x > y |
& (אמפרסנד) | & | AT&T → AT&T |
' (גרש יחיד) | ' | "O'Reilly" → O’Reilly |
" (גרש כפול) | " | She said "hello" → She said “hello” |
הפניות תו מספריות:
לתווים מיוחדים שלא ניתן להקליד, יש להשתמש בהפניות מספריות:
- דצימלי:
中 <!-- Chinese character "中" --> - הקסדצימלי:
中 <!-- Chinese character "中" --> - דוגמה:מוצג כ: I <3 Jörg
<message>I <3 Jörg</message>
טיפול בנתונים בינריים:
XML אינו תומך בנתונים בינריים גולמיים. במקום זאת, יש להשתמש בקידוד Base64.
6. תגובות ב‑XML
תחביר תגובה ב‑XML:
<!-- This is a valid XML comment -->
כללים לתגובות XML:
- לא ניתן למקם לפני הצהרת ה‑XML.
- אסור לכלול
--(קו מקף כפול) בתוך התגובה. - הפניות ישויות מתעלמות בתגובות.
דוגמה:
<!-- This is a comment with < and & symbols -->
סיכום
XML היא טכנולוגיה חיונית להחלפת נתונים מובנים, המשמשת פידי אינטרנט, מסמכי משרד, נתונים מדעיים ותקנים תעשייתיים. הבנת המונחים המרכזיים של XML, כללי הקידוד והימלטות מבטיחה יצירת מסמכי XML תקינים הפועלים כראוי במגוון מערכות.
על‑ידי יישום שיטות עבודה מומלצות בקידוד תווים והימלטות, מפתחים יכולים להימנע משגיאות פרסינג ולהבטיח תאימות ביישומי XML.