משתמש:Tzafrir/XOP

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

XOP ‏(XML-binary Optimized Packaging) היא צורת קידוד להעברת קבצים ובאופן כללי מידע בינארי בתוך קובץ XML. אחד השימושים הנפוצים לפורמט XML הוא כדרך סטנדרטית להעברת מידע מובנה בין יישומים שונים. XML הוא מעצם מהותו פורמט טקסטואלי, ואין דרך ישירה לכלול בו מידע לא טקסטואלי ללא קידוד נוסף. XOP היא אחת מצורות הקידוד הללו. XOP שימושי במיוחד בתחומי web services. הוא הוגדר כתקן ע"י ארגון W3C[1].

תאור[עריכת קוד מקור | עריכה]

XOP מאפשרת ביצוע סריליזציה (תהליך במסגרתו מתבצעת המרת נתון או מבנה נתונים לתצורה ברת אחסון) של המידע ללא ביצוע ניתוח לקסיקלי (מעבר על המידע המתקבל תוך בדיקת דקדוק של הקלט ובדיקת חוקיות הקלט בהתאם להגדרת XML) של כל המידע הקיים במנה[דרושה הבהרה]. שימוש ב XOP מונע את הצורך לקודד את המידע באמצעות Base64 (המידע עובר במקטע מחוץ לבקשה), והודות לכך מתקבל רווח בכמות המידע שניתן להעביר עד ל 33% מגודל הבקשה.

קידוד מידע בינארי באמצעות bas64 לצורה טקסטואלית מוסיף בממוצע 33% תוספת לגודל המידע שקודד , כלומר עבור 100K של מידע בינארי יתקבלו מקטע נתונים בגודל 133K שייוצגו באמצעות תווי טקסט הניתנים לאיחסון בתוך מקטע XML.

הפעלת מנגנון XOP במנוע web services מחייב ביצוע בדיקת קיום XOP עבור כל בקשה נכנסת או יוצאת (גם אם לא מופיע ב-WSDL).

צורת אריזה[עריכת קוד מקור | עריכה]

XOP עובד בצורה של XML infoset בודד. החלקים הבינארים של המידע הנוסף (למשל קבצים ) מוצאים מחוץ ל XML infoset , ה refernce בתוך ה XML infoset החדש מייוצג ע"י אלמנט "xop:Include". התוצאה שהתקבלה (XOP infoset ו המידע הבינארי) יכולה להשמר או להשלח תוצאה זו נקראת XOP Package

אריזות XOP[עריכת קוד מקור | עריכה]

Xop package ניתן להשתמש במספר סוגי אריזת נתונים, סוג אריזת הנתונים יגדיר איך ה XML infoset יציג ויעבד מידע.

הגדרות ה XOP מגדירות כי ניתן להשתמש ב-MIME בשביל לבצע את האריזה (ניתן לבחור בשיטות אחרות). אם משתמשים ב־MIME, מבנה ה־infoset מכיל XML בתחילת חלק ה־MIME, והמידע הבינארי נמצא בחלקי ה־MIME הנוספים. ניתן לבצע סרליזציה של חלקי ה־MIME האחרים ועל ידי כך להימנע מקידוד המידע הבינארי בתוך ה־XML.

דוגמה[עריכת קוד מקור | עריכה]

דוגמה המראה איך מעבירים תמונה באמצעות web service:

 MIME-Version: 1.0
 Content-Type: Multipart/Related;boundary=MIME_boundary;
 ...
 --MIME_boundary
 Content-Type: application/xop+xml; 
 ...

 <soap:Envelope ...
  <soap:Body>...
      <m:photo xmlmime:contentType='image/png'>
        <xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include' 
           href='cid:http://example.org/me.png'/></m:photo>
 ...

 --MIME_boundary
 Content-Type: image/png
 Content-Transfer-Encoding: binary
 Content-ID: <http://example.org/me.png>

 // מידע בינארי של הבקשה


ראה גם[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ תקן XOP מתוך אתר W3C

קישורים חיצוניים[עריכת קוד מקור | עריכה]

[[קטגוריה:XML]]

Crystal Clear app ktalkd.png ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.