XML פורמט
עיצוב יפה של XML בהזחה של שני רווחים, ארבעה רווחים או טאב, או דחיסה שלו לשורה אחת — הערות ומקטעי CDATA נשמרים, ובשגיאת מבנה מוצגים השורה והעמודה המדויקות.
הפלט יופיע כאן
מה עושה מעצב ה־XML הזה
XML (Extensible Markup Language) מאחסן נתונים מובְנים בתגים מקוננים, והוא עדיין עמוד השדרה של אינספור קובצי הגדרות, פורמטי מסמכים (כמו קובצי Office ו־SVG), שירותי SOAP והזנות נתונים. כמו כל markup, הוא קל הרבה יותר לקריאה כשהוא מוזח. הכלי מעצב XML יפה — מציב כל אלמנט בשורה משלו עם הזחה עקבית — או דוחס אותו לשורה אחת, ובו-זמנית בודק שהמסמך well-formed.
מה המשמעות של "well-formed"
Well-formedness הוא מערך הכללים הבסיסי שכל מסמך XML חייב לעמוד בו, בנפרד מהשאלה אם הוא תואם לסכמה מסוימת. מסמך well-formed כולל:
- כל תג פתיחה מותאם בתג סגירה, או כתוב כתג שסוגר את עצמו.
- תגים מקוננים כראוי, כך שהם לעולם לא חופפים (תג פנימי חייב להיסגר לפני התג החיצוני שלו).
- כל ערכי התכונות עטופים במרכאות.
- תווים מיוחדים כמו < ו־& עם escaping כישויות (< ו־&) בתוך טקסט.
כשאחד הכללים האלה מופר, הכלי מדווח על השורה והעמודה המדויקות של הבעיה הראשונה — תג לא-תואם או לא-סגור, הערה לא-מסתיימת, או < תועה בטקסט — כדי שתתקן מהר במקום לחפש בכל המסמך.
עיצוב יפה מול דחיסה
- עצב יפה כשצריך לקרוא, להשוות או לנפות XML: הזחה חושפת את מבנה המסמך והופכת את הקינון לברור. בחר 2 רווחים, 4 רווחים או טאב כדי להתאים לסגנון שלך.
- דחוס כשצריך לשדר או לאחסן XML בקומפקטיות: רווחים בלבד בין אלמנטים מוסרים והמסמך מתקפל לשורה אחת, ללא שינוי ה־markup עצמו.
הערות, מקטעי CDATA, הוראות עיבוד והצהרת ה־XML כולם נשמרים בשתי הפעולות, כך שאף אחד מהם לא אובד כשמעצבים מחדש.
XML בהשוואה ל־JSON
JSON הפך לברירת המחדל ל־API של אינטרנט כי הוא קל יותר וממופה ישירות לסוגי הנתונים של רוב שפות התכנות. XML נשאר התאמה טובה יותר כשמסמכים צריכים תוכן מעורב (טקסט עם markup בתוכו), מטא-דאטה עשיר דרך תכונות, הערות, namespaces, או ולידציה מול סכמה פורמלית. הרבה מערכות — אינטגרציות ארגוניות, צינורות הוצאה-לאור, מסמכי אופיס — בנויות על XML ויישארו כך עוד זמן רב, ולכן עיצוב נוח ואמין עדיין חשוב.
שאלות נפוצות
- מה המשמעות של "well-formed"?
- XML שהוא well-formed הוא כזה שבו כל תג סגור ומקונן כראוי, ערכי התכונות במרכאות, ותווים מיוחדים עם escaping. הכלי בודק את הכללים הללו ומצביע על המקום הראשון שבו הם נשברים.
- האם ה־XML שלי נשלח לשרת?
- לא. העיצוב ובדיקת התקינות המבנית מתרחשים כולם בדפדפן שלך. שום דבר שתדביק לא עוזב את המכשיר שלך.
- האם הוא מאמת מול סכמה (DTD או XSD)?
- לא. הוא בודק well-formedness — הכללים המבניים שכל מסמך XML חייב לעמוד בהם — אבל לא אם המסמך תואם לסכמת DTD או XSD מסוימת, שזהו שלב נפרד.
- האם הערות ו־CDATA נשמרים?
- כן. הערות, מקטעי CDATA, הוראות עיבוד והצהרת ה־XML כולם נשמרים בשלמותם כשמעצבים יפה או דוחסים.
- למה הוא מדווח שגיאה על HTML?
- HTML סלחני יותר מ־XML — הוא מתיר תגים לא-סגורים כמו <br> ותכונות ללא מרכאות. אלה אינם XML שהוא well-formed, ולכן מדווחים. רק markup בסגנון XHTML, סגור בהחלט, יעבור.
- האם העיצוב משנה את הנתונים שלי?
- שמות אלמנטים, תכונות, תוכן CDATA ומבנה המסמך נשארים ללא שינוי. רווחים בתוך טקסט, לעומת זאת, מנורמלים: שתי הפעולות מסירות אותם בתחילת כל קטע טקסט ובסופו, ודחיסה גם מכווצת רצפים פנימיים לרווח אחד — כך שבתוכן מעורב (טקסט עם תגים בתוכו) הריווח סביב התגים האלה עשוי להשתנות. רווחים שחייבים לשרוד בדיוק כפי שהם — מקומם במקטע CDATA.
כלים קשורים
- המרת CSV ל־JSON
המרה בין CSV ל־JSON — עם טיפול נכון במרכאות.
- ממיר JSON ל־YAML
המרת JSON ל־YAML, עם הסבר לכל מרכאות.
- JSON ל־TypeScript
הסקת ממשקי TypeScript מדוגמת JSON.
- בודק JSONPath
בדיקת שאילתות JSONPath לפי RFC 9535 מול JSON.