יתרונות XML : תנועה מעבר לתצורה (Format)

 

לקוח מתוך: March 8, 1999- Advantages of XML: Moving Beyond Format

כמה שהרעיון של בריחה מהמגבלות של סט תוויות בסיסי (כמו HTML) נשמע טוב , זה אפילו לא קרוב לדבר הטוב ביותר של XML ?

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

הבה נתבונן שוב ברשימת הקשר של SCLML.כאשר נשתמש ב HTML סטנדרטי המפתח עשוי לכתוב משהו כזה:     

<UL>
<LI>Gunther Birznieks
<UL>
<LI>Client ID: 001
<LI>Company: Bob's Fish Store
<LI>Email: gunther@bobsfishstore.com
<LI>Phone: 662-9999
<LI>Street Address: 1234 4th St.
<LI>City: New York
<LI>State: New York
<LI>Zip: 10024
</UL>
<LI>Susan Czigany
<UL>
<LI>Client ID: 002
<LI>Company: Netscape
<LI>Email: susan@eudora.org
<LI>Phone: 555-1234
<LI>Street Address: 9876 Hazen Blvd.
<LI>City: San Jose
<LI>State: California
<LI>Zip: 90034
</UL>
</UL>

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

  1. ה GUI הינו משובץ בתוך הנתונים. מה קורה אם ברצונך לעבור מתצוגה המבוססת על טבלה לתצוגה המבוססת על רשימה? עליך לקודד מחדש את כל ה HTML  שלך ! וזה עלול להיות כרוך בעריכה מחדש של דפים רבים.
  2. חיפוש אינפורמציה הנתונים הינו קשה. כיצד ביכולתך לקבל באופן מהיר אך ורק את רשימת הלקוחות בקליפורניה? כמובן, שיהיה עליך להשתמש בסקריפט זה או אחר לצורך כך. אבל כיצד סקריפט זה יעבוד? הוא כנראה יצטרך לרוץ מילה מילה ע"ג כל הקובץ ולחפש את המחרוזת "California". וגם אם ימצא התאמה , אין לו שום דרך לדעת שלקליפורניה עשוי להיות קשר עם ניו-יורק – ז"א ששניהם מדינות. תשכח מיחסים בין חלקי מידע בתוך הנתונים שלך אשר לעיתים רבות הינם קריטיים לצורך חיפוש בעל עוצמה.
  3. הנתונים מצומדים ללוגיקה ולשפת ה HTML. מה קורה אם ברצונך להציג את המידע שלך בתוך Java applet ? ובכן, למרבה הצער, על ה Java applet שלך לבצע parsing לכל מסמך ה HTML ולהפשיט את כל התוויות על מנת לדלות את הנתונים ולהעבירם לתצורה חדשה. אפליקציות עיבוד לא-HTMLיות לא אמורות להיות מופרעות ע"י עבודה חיצונית.

בעזרת XML בעיות אלו ואחרות נפתרות. ב XML אותו דף לעיל עשוי להראות כך:    

<CLIENT>
<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>
</CLIENT>

<CLIENT>
<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>
</CLIENT>

כפי שאתה יכול לראות , תוויות מותאמות אלו אשר בשימוש נותנות משמעות לנתונים אשר מוצגים. כאשר מאחסנים בצורה זו , הנתונים הופכים להיות ניידים (portable) מכיוון שהם כוללים לא רק את התצוגה אלא גם את התיאור. התצוגה "מחולצת" מן המידע וכפי שנראה בהמשך , מוכללת לתוך "גליון הסגנון" (“style sheet").

הבה נתבונן במספר יתרונות:

  1. בעזרת XML , ה GUI מופרד. לכן שינויים בתצוגה לא מצריכים שינוי תצורת הנתונים. במקום זאת , גליון סגנון נפרד יציין את סוג התצוגה – למשל טבלה או רשימה.
  2. חיפוש במידע הינו קל ויעיל. מנועי חיפוש יכולים פשוט לבצע parsing על התיאור המוטמע בתוויות במקום לשבש את המידע. התוויות מספקות למנועי החיפוש את האינטיליגנציה החסרה להם.
  3. יחסי גומלין מורכבים כגון עצים וירושה יכולים להתממש כעת.
  4. הקוד כעת הרבה יותר ברור וקריא לאדם הנכנס לסביבה ללא ידע קודם. בדוגמה הנ"ל זה ברור כי <ID>002</ID>  מייצג ID מסויים ו <LI>002  לא. XML הינה בעלת תיאור עצמי.

לראשהדף

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

XML חסרונות