מבוא לנתונים : XML  - חלק 9

מבוא לנתונים – פרק 9 של המדריך מבוא לסביבת פיתוח של אפליקציות WEB )TOOLS)

ממשיך בסקירה שלנו על טכנולוגיות ה WEB אשר מגדירות , מתארות  או מגדירות סטנדרטים עבור המאפינים הבסיסיים של המידע.

 

לקוח מתוך What is XML - March 8, 1999

כמו HTML, XML (Extensible Markup Language) הינה שפת סימון (markup) אשר מתבססת על התפיסה של חוקים מונחי תוויות ושימוש באפליקציה לעיבוד התוויות (tags) אשר יודעת כיצד לטפל בתוויות.

הכותרת הנכונה והמלאה למפרט זה הינה Extensible Markup Language. הקיצור XML הינו קיצור נכון והינו השם הרשמי של Extensible Markup Language. השם והקיצור הומצאו ע"י ג'יימס קלארק. אפשרות אחרת שנלקחת בחשבון הינה MGML (Minimal Architecture For Generalized Markup Applications) וגם SLIM (Structured Language for Internet Markup).

 בכל מקרה , XML היא בעלת עוצמה גדולה יותר מאשר HTML.

וזה בגלל התוספת של ה "X”. XML הינה eXtensible דהיינו ברת-הרחבה. בפרט , מעבר לסיפוק של סט תוויות מוגדרות מראש (כפי שקיים בHTML-) , XML מציינת סטנדרטים אשר בעזרתם ביכולתך להגדיר שפת סימון משלך עם סטים של תוויות משלך. XML הינה שפת סימון עצמית (meta-markup language) המאפשרת לך להגדיר מספר אינסופי של שפות סימון המבוססות על הסטנדרטים שהוגדרו ע"י XML.

 מטרות XML  הינן:

1.                    XML צריכה להיות שימושית בצורה ישירה על גבי האינטרנט.

2.                    XML צריכה לתמוך במגוון רב של אפליקציות.

3.                    XML צריכה להתמך לאחור ע"י SGML.

4.                    זה צריך להיות פשוט לכתוב תוכניות המעבדות מסמכי XML.

5.                    מספר התכונות האופציונאליות ב XML צריך להיות מינימלי (לשאוף לאפס).

6.                    מסמכי XML צריכים להיות מותאמי אדם ופשוטים להבנה.

7.                    עיצוב(תכן) ה-XML צריך להיות מוכן מהר.

8.                    עיצוב(תכן) ה-XML צריך להיות פורמלי ומדוייק.

9.                    מסמכי XML צריכים להיות פשוטים ליצירה.

10.                תמציתיות ב סימוני XML איננה בחשיבות גבוהה.

הבה נתבונן בדוגמא פשוטה ביותר.

הבה ניצור שפת סימון חדשה שתקרא SCLML(Selena's Client List Markup Language). שפה זו תגדיר תוויות (tags) לייצוג סוכנים ומידע עליהם.

סט התוויות יהיה פשוט אך בעל משמעות. בניגוד לתוויות <UL> ו <LI> , תוויות XML בד"כ יהיו מובנות מיידית אך ורק ע"י קריאת המסמך.      

<CONTACT>
<NAME>Gunther Birznieks</NAME>
<ID>001</ID>
<COMPANY>Bob's Fish Store</COMPANY>
<EMAIL>gunther@bobsfishstore.com</EMAIL>
<PHONE>662-9999</PHONE>
<STREET>1234 4th St.</STREET>
<CITY>New York</CITY>
<STATE>New York</STATE>
<ZIP>Zip: 10024</ZIP>
</CONTACT>

<CONTACT>
<NAME>Susan Czigany</NAME>
<ID>002</ID>
<COMPANY>Netscape</COMPANY>
<EMAIL>susan@eudora.org</EMAIL>
<PHONE>555-1234</PHONE>
<STREET>9876 Hazen Blvd.</STREET>
<CITY>San Jose</CITY>
<STATE>California</STATE>
<ZIP>90034</ZIP>
</CONTACT>

 

שים לב כי השימוש ב XML אינו מוגבל ל"סימון טקסט" בלבד. יכולת ההרחבה של XML משמעותה שניתן בקלות להחיל את XML לצורך "סימון סאונד" או "סימון תמונות". תווית כגון <EMPHASIZE> יכולה להיות מוצגות כגון טקסט מודגש אך יכולה להתפרש כהגברת הסאונד.

מה שראית לעיל זה מסמך XML פשוט ביותר. כפי שיכולת להיווכח המסמך נראה מאוד דומה למסמך HTML.

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

  1. התחביר עבור הסימון (marking up)
  2. המשמעות מאחורי כל סימון

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

מהי תווית <PHONE>? האם זו תוית חוקית? כיצד יש להציג זאת? שפת הסימון שלנו חייבת לדעת לקשר איכשהו את התחביר בצורה כזו שהאפליקציית עיבוד תדע מה לעשות איתו.

ב XML , הגדרת סימון חוקי מנוהל ע"י DTD (Document Type Definition) אשר מקשר את מבנה שפת הסימון. ה DTD מציין את הקריטריונים עבור תוית חוקית (התחביר של הסימון).

אנו נדון ביתר פרוט ב DTD מאוחר יותר. לעת עתה , התייחס ל DTD כאל רכיב נפרד במשוואה.

כמו כן עלינו לקשר גם את המשמעות של הסימון כפי שנעשה עם התחביר.

בכדי לציין מהן תוויות חוקיות , על מסמכי ה XML להיות מקושרים עם "גליונות סגנון" (“style sheets") אשר מספקים הוראות GUI עבור אפליקציית העיבוד כגון דפדפן ה WEB. גליון סגנון (style sheet) אשר נדון בו בהרחבה יותר מאוחר, עשוי לציין הוראות תצוגה כגון:

  1. בכל פעם שאתה רואה <CONTACT> , הצג זאת בעזרת תוית <UL> . ובאופן דומה התאם את תוית </CONTACT> לתוית </UL>.
  2. כל תויות <NAME> יחולקו לתויות <LI> ומתוויות </NAME> יש להתעלם.
  3. כל תויות <EMAIL> יחולקו לתוויות <LI> ומתוויות </EMAIL> יש להתעלם.

וכו'…

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

עיבוד אפליקציות משלב את הלוגיקה של גליון הסגנון , את ה DTD ואת הנתונים של מסמך ה SCLML ומציג זאת בהתאם לכללים ולנתונים.

נשמע מסובך,לא? כעת במקום מסמך HTML יחיד אשר גם מגדיר את הנתונים וגם את הכללים לתצוגתם יש בידינו מסמך SCLML , מסמך DTD וגליון סגנון. שלושה חלקים במקום חלק אחד בלבד.

ומעבר לכך , עלינו להעזר ב"סוכן"(agent) אשר יבצע את עבודת החיבור בין ה DTD לגליון הסגנון ולמסמך ה SCLML. עליך לזכור כי דפדפנים יוצרו כאשר הם נועדו לקרוא שפת סימון ספציפית (HTML) ולא כל שפת סימון. וזה אומר כי עלינו להחזיק שלושה מסמכים נפרדים וגם תוכנת עיבוד אשר יש לכתוב או לרכוש. איזה באלגן.

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

בכל אופן , למרות שישנם עוד מספר משוכות שיש לקפוץ מעליהם בכדי להשתמש ב XML , ישנם מספר סיבות טובות מדוע כל זה שווה זאת. הבה נתבונן בחלק מהם…

לראשהדף

HTML

שבירת המונופול של התוויות: XML יתרונות