תפריט נגישות
דלג לתוכן
אתה נמצא כאן:
  • בית
  • XML בעשר נקודות

XML בעשר נקודות

  •  13 בנובמבר 2001
  • צוות W3C
  • מתחיל

תקציר זה מסביר עקרונות בסיסיים בשפת XML. מבוסס על XML in 10 points.

1. XML הנו כלי ליצירת מבנה נתונים

מבנה נתונים כולל בתוכו גליונות, ספרי כתובות, ערכי תצורה (configuration) , פעולות פיננסיות וסרטוטים טכניים. XML הנו מסגרת חוקים (ניתן גם לתאר זאת כקווים מנחים או מוסכמות) המשמשים לעיצוב פורמט טקסט שיפאשר למשתמש "להבנות" את הנתונים (מלשון מבנה נתונים). XML אינו שפת תכנות, ואין צורך להיות מתכנת כדי להשתמש בו או ללמוד אותו. XML מקל על המחשב בעיבוד הנתונים, קריאת הנתונים ומבטיח שמבנה הנתונים אינו מעורפל. XML נמנע מהמלכודות הרגילות הטמונות בעיצוב שפה ומאפשר הרחבה, אינו תלוי בפלטפורמה, תומך בבינאום (בינלאומי) ולמיקום (מקומי). וכן ממומש בסטנדרטים של Unicode.

2. XML דומה קצת ל HTML

גם פה תמצאו תגיות (tags) הגדרות בין "<" ו- ">" ותכוניות (attributes). בעוד HTML מגדיר כל תגית וערך במשמעות ספציפית ולעיתים תכופות מגדיר כיצד יוצג הטקסט שביניהם בדפדפן, ה-XML משתמש בתגיות רק כדי לתחום פיסות מידע, ומותיר את הפירוש של המידע לתוכנה שקוראת אותו. במילים אחרות, אם תראה <P>בקובץ XML , אל תניח שמדובר בפסקה. לפי ההקשר זה יכול לתאר מחיר, פרמטר או כל דבר אחר.

3. XML הוא טקסט, אך מטרתו אינה להיות טקסט לקריאה

תוכניות המייצרות גיליונות, ספרי כתובות ומבני נתונים אחרים, שומרות לעיתים קרובות את הנתונים על הדיסק, בפורמט בינארי או בפורמט טקסט. אחד מיתרונותיו של פורמט טקסט הוא האפשרות לבחון את הנתונים ללא צורך בתוכנה שייצרה אותם ובקיצור ניתן לקרוא את הקובץ בפורמט טקסט בעורך טקסט המועדף על המשתמש. פורמט טקסט מאפשר למפתחי התוכנות/אתרים לטפל בבאגים ביתר קלות. כמו HTML, קבצי XML הינם קבצי טקסט שאנשים אינם אמורים לקרוא, אלא אם קיים צורך. בשונה מ- HTML, החוקים לקבצי XML הינם נוקשים. השמטת תגית (tag), או תכוניות (attribute) ללא גרשיים הופך את קובץ ה- XML ללא שמיש, בעוד שב- HTML שגיאות מן הסוג הזה "מותרות". במפרט הרשמי של XML נאסר על יישומים לנסות לנחש ולהשלים קובץ XML שגוי. במידה והקובץ שגוי, על היישום לעצור ולדווח שגיאה.

4. XML מאופיין במלל רב

XML הנו פורמט טקסט שמשתמש בתגיות התוחמות את המידע ולכן קבצי XML כמעט תמיד גדולים יותר בהשוואה לפורמט בינארי. זאת הייתה בחירה מודעת של מעצבי ה- XML. היתרונות בפורמט טקסט ברורים (ראה נקודה 3) ועל החסרונות ניתן לפצות ברמה אחרת. זיכרון לדיסק זול כיום, ותוכנות דחיסה כגון zip ו- gzip היכולות לדחוס את הקבצים בצורה טובה ומהירה. בנוסף, פרוטוקולי תקשורת כגון פרוטוקולי מודם ו- HTTP/1.1, פרוטוקולי הליבה של הרשת, מסוגלים לדחוס מידע בזמן אמת, תוך חסכון ברוחב פס.

5. XML הוא משפחה של טכנולוגיות

XML1.0 הנו מפרט שמגדיר מהם "תגיות" ו"תכוניות". מעבר לכך "משפחת XML" הינה מערך מודולים ההולך ומתרחב המציעים שירותים שמושיים כדי לבצע משימות חשובות ותכופות. Xlink מתאר כיצד להוסיף קישורים לקובץ XML. XPointer ו- Xfragments הינם מודולים בפיתוח כדי לאפשר מצביעים בתוך מסמך XML. ה- XPointer הנו מעין URL, אך במקום להצביע על מסמכים ברשת, הוא מצביע על פיסת מידע בתוך הקובץ XML. CSS, שפה לעיצוב גליונות, זמינה ב- XML בדומה ל- HTML. XSL הינה שפה מתקדמת לעיצוב גליונות. השפה מבוססת על XSLT, שפה המשמשת לאירגון, הוספה ומחיקה של תגיות ותכוניות. ה- DOM מערך פונקציות המשמשות למניפולציות בקבצי XML (ו- HTML) ע"י תיכנות. פורמט הגדרות מבנה XML Schema1 ו- 2. ישנם עוד מודולים וכלים מוכנים או בפיתוח. שים לב לדף הדיווחים הטכניים של W3C.

6. XML הנו חדש, אך בכל זאת

פיתוחו החל כבר בשנת 1996 וקיבל את המלצת ה-W3C בפברואר 1998, מה שעלול לעורר חשד כי זוהי טכנולוגיה בחיתוליה. אולם הטכנולוגיה אינה כל כך חדישה. לפני XML היה SGML, שפותח בתחילת שנות השמונים, בעל תו תקן ISO משנת 1986 וזכה לשימוש נרחב בפרויקטים של דוקומנטציה. פיתוחו של HTML החל בשנת 1990. מתכנני XML פשוט לקחו את המיטב שב- SGML ובשילוב הנסיון מ-HTML, ייצרו משהו שחזק כמו SGML אך פשוט יותר לשימוש. יש לציין, בעוד ש- SGML משמש בעיקר לתיעוד וכמעט שאינו בשימוש לסוגי מידע אחרים, הרי ש- XML משמש בדיוק להפך.

7. XML מוביל את HTML ל- XHTML

ישנו יישום XML חשוב והוא עיצוב מסמך "XHTML" של W3C, היורש של HTML. ל- XHTML אלמנטים רבים שנלקחו מ- HTML. אך בשונה ממסמך "מבוסס XML" הוא יורש את התחביר של XML כאשר מצד אחד הוא מגביל אותו באופן מסוים (לדוגמא הוא מאפשר "<p>", אך אינו מאפשר "<r>") ומצד שני מוסיף משמעויות (משמעות "<p>" הינה פיסקה ואינו ניתן לשינוי).

8. XML הנו מודולרי

XML מאפשר לך להגדיר פורמט חדש למסמך ע"י שילוב ושימוש בפורמטים אחרים. מאחר ויתכן מצב ובו פורמטים שפותחו באופן בלתי תלוי עלולים להכיל אלמנטים או תכונות בעלות אותו שם, יש לשים לב כאשר משלבים בין הפורמטים השונים. כדי למנוע בלבול בשמות ,מספק ה-XML אמצעים לשמות (XSL .(namespace ו- RDF משמשים דוגמא טובה לפורמטים מבוססי XML המשתמשים ב- namespace  .XML Schema תוכנן כך שיאפשר לשלב שתי סכמות כדי ליצור סכמה שלישית שתעמוד בבסיס מסמך משולב.

9. XML הנו הבסיס של RDF והרשת הסמנטית (Semantic Web)

מסגרת תיאור המקורות (Resource Description Framework- RDF) הינה פורמט טקסט XML שתומך בתיאור מקורות ויישומים בעלי מידע רב כגון אוספי מוזיקה, אוספי תמונות ורשימות ביבליוגרפיות. RDF משלב יישומים וסוכנים לתוך רשת סמנטית אחת. ניתן להמשיל זאת לבני האדם הזקוקים להסכמה בדבר משמעות המילים שבהן הם משתמשים כדי לתקשר, כך גם המחשבים זקוקים למנגנונים כדי להסכים על משמעויות המושגים על מנת לתקשר באופן יעיל. הגדרות פורמליות של מושגים בתחום מסוים נקראת אונטולוגיה. האונטולוגיות מהוות חלק הכרחי מהרשת הסמנטית. RDF, אונטולוגיות וייצוג המשמעות כך שמחשבים יוכלו לעזור לבני האדם לבצע משימות, נושאים יחד בפעילות של הרשת הסמנטית.

10. XML ניתן לשימוש ללא דמי רישיון, אינו תלוי בפלטפורמות ונתמך היטב

בבחירת XML כבסיס לפרויקט, נרוויח גישה לקהילה הולכת וגדלה של כלים ומהנדסים עם ניסיון בטכנולוגיה. להעדיף XML זה קצת כמו לבחור ב- SQL עבור מאגרי נתונים: עדיין יש צורך בבניית מאגר המידע, כתיבת התוכנות השונות והגדרת פרוצדורות המתפעלות את כל המערך. ישנם כלים רבים בהישג יד כמו גם אנשים רבים שיוכלו לסייע. היות ו- XML פתוח לשימוש חופשי ניתן לבנות את התוכנה שלך על בסיסו ללא צורך בתשלום עבור רישיון ואין תלות בספק תוכנות יחיד.

XML אינו תמיד הפיתרון הטוב ביותר, אך תמיד כדאי לשקול אם להשתמש בו.

למעט אם נאמר אחרת, התוכן באתר מורשה לשימוש על פי רשיון Creative Commons מסוג ייחוס, שימוש לא מסחרי, שיתוף זהה.