אודות XML ו-XSLT

עודכן לאחרונה בתאריך 25 באפריל 2024

השתמש ב-XML וב-XSLT בדפי אינטרנט של Dreamweaver.

פתק

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

שימוש ב-XML וב-XSL בדפי אינטרנט

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

הדוגמה הבאה מציגה את המבנה הבסיסי של קובץ XML:

<?xml version="1.0">

<mybooks>

<book bookid="1">

<pubdate>03/01/2004</pubdate>

<title>Displaying XML Data with Adobe Dreamweaver</title>

<author>Charles Brown</author>

</book>

<book bookid="2">

<pubdate>04/08/2004</pubdate>

<title>Understanding XML</title>

<author>John Thompson</author>

</book>

</mybooks>

בדוגמה זו, כל תגית <book> הורה מכילה שלוש תגיות ילד: <pubdate>,‏ <title>, ו-<author>. אבל כל תגית <book> היא גם תגית ילד של תגית <mybooks>, שנמצאת ברמה אחת יותר גבוהה ב-schema. אתם יכולים לתת שמות ולבנות תגיות XML בכל דרך שהיא, בתנאי שתקננו תגיות בהתאם בתוך אחרות, ותקצו לכל תגית פתיחה תגית סגירה מתאימה.

מסמכי XML לא מכילים עיצוב כלשהו – הם פשוט מיכלים של מידע מובנה.לאחר שיש לכם סכימת XML, אתם יכולים להשתמש ב-Extensible Stylesheet Language (XSL) כדי להציג את המידע.בדרך ש-Cascading Style Sheets (CSS) מאפשרים לכם לעצב HTML, XSL מאפשר לכם לעצב נתוני XML. אתם יכולים להגדיר עיצובים, רכיבי עמוד, פריסה וכו' בקובץ XSL ולצרף אותו לקובץ XML כך שכשמשתמש צופה בנתוני ה-XML בדפדפן, הנתונים מעוצבים בהתאם למה שהגדרתם בקובץ ה-XSL. התוכן (נתוני ה-XML) והמצגת (המוגדרת על ידי קובץ ה-XSL) נפרדים לחלוטין, מה שמעניק לכם שליטה רבה יותר על האופן שבו המידע שלכם מופיע בדף אינטרנט. בעיקרון, XSL הוא טכנולוגיית מצגת עבור XML, כאשר הפלט הראשי הוא דף HTML.

Extensible Stylesheet Language Transformations (XSLT) הוא תת-שפה של XSL המאפשרת להציג נתוני XML בדף אינטרנט, ו"להמיר" אותם, יחד עם עיצובי XSL, למידע קריא ומעוצב בצורת HTML.אתם יכולים להשתמש ב-Dreamweaver כדי ליצור דפי XSLT שמאפשרים לכם לבצע תרגומי XSL באמצעות שרת יישומים או דפדפן. בתרגום XSL בצד השרת, השרת עושה את העבודה של תרגום ה-XML וה-XSL, והצגתם בדף. בתרגום בצד הלקוח, דפדפן (כמו Internet Explorer) עושה את העבודה.

הגישה שאתם בסופו של דבר תבחרו (תרגומים בצד השרת לעומת תרגומים בצד הלקוח) תלויה במה שאתם מנסים להשיג כתוצאה סופית, בטכנולוגיות הזמינות לכם, ברמת הגישה שיש לכם לקבצי מקור XML, ובגורמים אחרים. לכל אחת משתי הגישות יש יתרונות וחסרונות משלה. לדוגמה, תרגומים בצד השרת עובדים בכל הדפדפנים בעוד שתרגומים בצד הלקוח מוגבלים לדפדפנים מודרניים בלבד (Internet Explorer 6, Netscape 8, Mozilla 1.8, ו-Firefox 1.0.2). תרגומים בצד השרת מאפשרים לכם להציג נתוני XML באופן דינמי מהשרת שלכם או מכל מקום אחר ברשת, בעוד שתרגומים בצד הלקוח חייבים להשתמש בנתוני XML שמאוחסנים מקומית בשרת האינטרנט שלכם. לבסוף, תרגומים בצד השרת דורשים שתפרסו את הדפים שלכם לשרת יישומים מוגדר, בעוד שתרגומים בצד הלקוח דורשים רק גישה לשרת אינטרנט.

לקבלת ערכת לימוד בנושא הבנת XML, ראה www.adobe.com/go/vid0165_il.

המרות XSL מצד השרת

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

כאשר עובדים עם תרגומי XSL בצד השרת, אתם יכולים להשתמש ב-Dreamweaver כדי ליצור דפי XSLT שמייצרים מסמכי HTML מלאים (דפי XSLT שלמים), או קטעי XSLT שמייצרים חלק ממסמך HTML. דף XSLT שלם דומה לדף HTML רגיל. הוא מכיל תג <body> ותג <head>, ומאפשר לכם להציג שילוב של נתוני HTML ו-XML בדף. קטע XSLT הוא קטע קוד, המשמש מסמך נפרד, שמציג נתוני XML מעוצבים.בניגוד לדף XSLT שלם, הוא קובץ עצמאי שלא מכיל תג <body> או <head>. אם אתם רוצים להציג נתוני XML בדף בפני עצמו, הייתם יוצרים דף XSLT שלם, וקושרים אליו את נתוני ה-XML שלכם. אם, מצד שני, הייתם רוצים להציג נתוני XML בקטע מסוים של דף דינמי קיים—לדוגמה, דף בית דינמי עבור חנות ציוד ספורט, עם תוצאות ספורט מהזנת RSS המוצגות בצד אחד של הדף—הייתם יוצרים קטע XSLT ומכניסים הפניה אליו בדף הדינמי. יצירת קטעי XSLT, ושימוש בהם יחד עם דפים דינמיים אחרים להצגת נתוני XML, הוא התרחיש הנפוץ יותר.

הצעד הראשון ביצירת סוגים אלה של דפים הוא יצירת קטע ה-XSLT. הוא קובץ נפרד שמכיל את הפריסה, העיצוב, וכן הלאה של נתוני ה-XML שאתם בסופו של דבר רוצים להציג בדף הדינמי. לאחר שאתם יוצרים את קטע ה-XSLT, אתם מכניסים הפניה אליו בדף הדינמי שלכם (לדוגמה, דף PHP או ColdFusion). ההפניה המוכנסת לפרגמנט פועלת בדומה ל-Server Side Include (SSI) — נתוני ה-XML המעוצבים (הפרגמנט) נמצאים בקובץ נפרד, ואילו בתצוגת Design מופיע ממלא מקום לפרגמנט בעמוד הדינמי עצמו.כאשר דפדפן מבקש את העמוד הדינמי המכיל את ההפניה לפרגמנט, השרת מעבד את ההוראה הכלולה ויוצר מסמך חדש שבו מופיע התוכן המעוצב של הפרגמנט במקום ממלא המקום.

A. הדפדפן מבקש לקבל דף דינמי B. שרת האתר מוצא את העמוד ומעביר אותו לשרת היישום C. שרת היישומים סורק את הדף לקבלת הוראות ומקבל את מקטע XSLT‏ D. שרת היישומים מבצע המרה (קורא את מקטע XSLT, מקבל נתוני XML ומעצב אותם) E. שרת היישומים מוסיף את המקטע לאחר ההמרה לדף ומעביר אותו בחזרה לשרת האינטרנט F. שרת האינטרנט שולח את הדף הגמור לדפדפן 

אתם משתמשים בהתנהגות השרת XSL Transformation כדי להכניס את ההפניה לפרגמנט XSLT בעמוד דינמי.כאשר אתם מכניסים את ההפניה, Dreamweaver יוצר תיקיית includes/MM_XSLTransform/ בתיקייה הראשית של האתר המכילה קובץ ספרייה של זמן ריצה.שרת היישום משתמש בפונקציות המוגדרות בקובץ זה כאשר הוא מבצע המרה של נתוני XML שצוינו.הקובץ אחראי לאחזור נתוני ה-XML ופרגמנטי XSLT, לביצוע טרנספורמציית ה-XSL ולהוצאת התוצאות בעמוד האתר.

הקובץ המכיל את פרגמנט ה-XSLT, קובץ ה-XML המכיל את הנתונים שלכם וקובץ ספריית זמן הריצה שנוצר חייבים להיות כולם על השרת כדי שהעמוד שלכם יוצג כראוי.(אם אתם בוחרים בקובץ XML מרוחק כמקור הנתונים שלכם - כמו מ-RSS feed לדוגמה - הקובץ הזה חייב כמובן להיות במקום אחר באינטרנט.)

אתם יכולים גם להשתמש ב-Dreamweaver כדי ליצור עמודי XSLT שלמים לשימוש עם טרנספורמציות בצד השרת.עמוד XSLT שלם פועל בדיוק כמו פרגמנט XSLT, רק שכאשר אתם מכניסים את ההפניה לעמוד XSLT השלם באמצעות התנהגות השרת XSL Transformation, אתם מכניסים את התוכן המלא של עמוד HTML.לכן, העמוד הדינמי (עמוד ה-.cfm, .php או .asp שמשמש כעמוד המכיל) חייב להיות נקי מכל HTML לפני שאתם מכניסים את ההפניה.

Dreamweaver תומך בהמרות XSL עבור עמודי ColdFusion‏, ASP ו-PHP.

פתק

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

המרות XSL מצד הלקוח

ניתן לבצע המרות XSL במחשב הלקוח מבלי להשתמש בשרת יישומים. ניתן להשתמש ב-Dreamweaver ליצירת דף XSLT מלא שיבצע זאת. עם זאת, המרות מצד הלקוח דורשות טיפול בקובץ XML הכולל את הנתונים שברצונך להציג. בנוסף, המרות מצד הלקוח פועלות רק בדפדפנים מתקדמים (Internet Explorer 6‏, Netscape 8‏, Mozilla 1.8 ו-Firefox 1.0.2). 

צור תחילה דף XSLT וקשר אותו למקור נתונים מסוג XML.‏ (Dreamweaver ישאל אם ברצונך לקשר את מקור הנתונים כשאתה יוצר דף חדש.) ניתן ליצור דף XSLT מאפס, או להמיר דף HTML קיים לדף XSLT. כשממירים דף HTML קיים לדף XSLT, יש לקשר מקור נתונים מסוג XML מהחלונית Bindings ‏(Window >‏ Bindings).

לאחר יצירת דף XSLT, יש לקשר אותו לקובץ XML הכולל את נתוני XML הדרושים באמצעות הוספת הפניה לדף XSLT בקובץ XML עצמו (כפי שמוסיפים הפניה לגיליון סגנונות CSS חיצוני באזור <head> של דף HTML). המבקרים באתר חייבים לראות את קובץ XML (ולא את דף XSLT) בדפדפן. כשהמבקרים באתר יראו את הדף, הדפדפן יבצע את המרות XSL ויציג את נתוני XML, המעוצבים על-ידי דף XSLT המקושר.

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

A. הדפדפן מבקש לקבל קובץ XML B. השרת מגיב בשליחת קובץ XML לדפדפן C. הדפדפן קורא את הנחיות XML וקורא לקובץ XSLT‏ D. ‏השרת שולח קובץ XSLT לדפדפן E. הדפדפן ממיר את נתוני XML ומציג אותם בדפדפן 

כאשר אתם משתמשים ב-Dreamweaver כדי לקשר עמוד XSLT לעמוד XML, Dreamweaver מכניס את הקוד המתאים עבורכם בחלק העליון של עמוד ה-XML.אם אתם הבעלים של עמוד ה-XML שאליו אתם מתקשרים (כלומר, אם קובץ ה-XML נמצא אך ורק על שרת האתר שלכם), כל מה שאתם צריכים לעשות הוא להשתמש ב-Dreamweaver כדי להכניס את הקוד המתאים שמקשר בין שני העמודים.כאשר אתם הבעלים של קובץ ה-XML, טרנספורמציות ה-XSL המבוצעות על ידי הלקוח הן דינמיות לחלוטין.כלומר, בכל פעם שאתם מעדכנים את הנתונים בקובץ ה-XML, כל פלט HTML המשתמש בעמוד XSLT המקושר יתעדכן אוטומטית עם המידע החדש.

פתק

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

אם אתם לא הבעלים של עמוד ה-XML שאליו אתם מתקשרים (לדוגמה, אם אתם רוצים להשתמש בנתוני XML מ-RSS feed כלשהו באינטרנט), תהליכי העבודה קצת יותר מסובכים.כדי לבצע טרנספורמציות בצד הלקוח באמצעות נתוני XML ממקור חיצוני, עליכם קודם להוריד את קובץ מקור ה-XML לאותה ספרייה שבה נמצא עמוד ה-XSLT שלכם.כאשר עמוד ה-XML נמצא באתר המקומי שלכם, אתם יכולים להשתמש ב-Dreamweaver כדי להוסיף את הקוד המתאים שמקשר אותו לעמוד ה-XSLT, ולפרסם את שני העמודים (קובץ ה-XML שהורדתם ועמוד ה-XSLT המקושר) לשרת האתר שלכם.כאשר המשתמש צופה בעמוד ה-XML בדפדפן, עמוד ה-XSLT מעצב את התוכן, בדיוק כמו בדוגמה הקודמת.

החיסרון של ביצוע המרות XSL בצד הלקוח על נתוני XML שמגיעים ממקור חיצוני הוא שנתוני ה-XML הם "דינמיים" באופן חלקי בלבד. קובץ ה-XML שאתם מורידים ומשנים הוא רק "תמונת מצב" של הקובץ שנמצא במקום אחר ברשת. אם קובץ ה-XML המקורי ברשת משתנה, עליכם להוריד שוב את הקובץ, לקשר אותו לדף XSLT ולפרסם מחדש את קובץ ה-XML לשרת האינטרנט שלכם. הדפדפן מעבד רק את הנתונים שהוא מקבל מקובץ ה-XML שבשרת האינטרנט שלכם, לא את הנתונים שכלולים בקובץ המקור של ה-XML המקורי.

נתוני XML ורכיבים חוזרים

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

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

כאשר אתם מיישמים אובייקט Repeating Region XSLT על אלמנט בחלון המסמך, מופיעה מסגרת אפורה דקה ובעלת לשוניות מסביב לאזור החוזר. כאשר אתם מציגים בתצוגה מקדימה את העבודה שלכם בדפדפן (קובץ > תצוגה מקדימה בדפדפן), המסגרת האפורה נעלמת והבחירה מתרחבת כדי להציג את האלמנטים החוזרים שצוינו בקובץ ה-XML, כמו באיור הקודם.

כאשר אתם מוסיפים את האובייקט Repeating Region XSLT לדף, האורך של מציין המקום לנתוני XML בחלון המסמך מקוצר.הסיבה לכך היא ש-Dreamweaver מעדכן את הביטוי XPath (שפת נתיב XML) עבור מקום המציין לנתוני XML כך שהוא יחסי לנתיב של האלמנט החוזר.

לדוגמה, הקוד הבא מיועד לטבלה שמכילה שני מקומות מציינים דינמיים, ללא האובייקט Repeating Region XSLT שמיושם על הטבלה:

<table width="500" border="1">

<tr>

<td><xsl:value-of select="rss/channel/item/title"/></td>

</tr>

<tr>

<td><xsl:value-of select="rss/channel/item/description"/></td>

</tr>

</table>

הקוד הבא מיועד לאותה טבלה עם האובייקט Repeating Region XSLT שמיושם עליה:

<xsl:for-each select="rss/channel/item">

<table width="500" border="1">

<tr>

<td><xsl:value-of select="title"/></td>

</tr>

<tr>

<td><xsl:value-of select="description"/></td>

</tr>

</table>

</xsl:for-each>

בדוגמה הקודמת, Dreamweaver עדכן את ה-XPath עבור הפריטים שנמצאים בתוך האזור החוזר (title & description) כך שיהיה יחסי ל-XPath בתגי ה-<xsl:for-each> המקיפים, במקום המסמך המלא.

Dreamweaver יוצר ביטויי XPath יחסיים להקשר גם במקרים אחרים. לדוגמה, אם תגררו מציין מיקום של נתוני XML לטבלה שכבר יש לה אובייקט XSLT של אזור חוזר, Dreamweaver יציג אוטומטית את ה-XPath יחסית ל-XPath הקיים בתגי ה-<xsl:for-each> המקיפים.

תצוגה מקדימה של נתוני XML

כאשר תשתמשו בתצוגה מקדימה בדפדפן (File > Preview in Browser) כדי להציג תצוגה מקדימה של נתוני XML שהכנסתם לקטע XSLT או לעמוד XSLT שלם, המנוע שמבצע את טרנספורמציית ה-XSL שונה ממצב למצב. עבור עמודים דינמיים המכילים קטעי XSLT, שרת היישומים תמיד מבצע את הטרנספורמציה. במקרים אחרים, ייתכן ש-Dreamweaver או הדפדפן יבצעו את הטרנספורמציה.

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

סוג הדף המוצג בתצוגה מקדימה בדפדפן

המרת נתונים מתבצעת על-ידי

דף דינמי הכולל מקטע XSLT

שרת יישומים

מקטע XSLT או דף XSLT שלם

Dreamweaver

קובץ XML עם קישור לדף XSLT שלם

דפדפן

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

תצוגה מקדימה של עמודים להמרות מצד השרת

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

תצוגה מקדימה של עמודים להמרות מצד הלקוח

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

עם זאת, השימוש בגישה זו מקשה על איתור וטיפול בשגיאות בעמוד שלכם, מכיוון שהדפדפן מבצע טרנספורמציה של ה-XML ויוצר את ה-HTML באופן פנימי.אם תבחרו באפשרות 'הצגת מקור' של הדפדפן כדי לאתר ולטפל בשגיאות ב-HTML שנוצר, תוכלו לראות רק את ה-XML המקורי שהדפדפן קיבל, ולא את ה-HTML המלא (תגיות, עיצובים וכו') האחראי לעיבוד העמוד.כדי לראות את ה-HTML המלא בעת הצגת קוד המקור, עליכם להציג את עמוד ה-XSLT בדפדפן במקום זאת.

תצוגה מקדימה של עמודי XSLT מלאים ושל מקטעי XSLT

בעת יצירת דפי XSLT שלמים וקטעי XSLT, תרצו לצפות בתצוגה מקדימה של העבודה כדי לוודא שהנתונים מוצגים כראוי.אם תשתמשו בתצוגה מקדימה בדפדפן כדי להציג עמוד XSLT שלם או קטע XSLT,‏ Dreamweaver יבצע את הטרנספורמציה באמצעות מנוע טרנספורמציה מובנה.שיטה זו מספקת לכם תוצאות מהירות, ומקלה עליכם לבנות ולטפל בשגיאות בעמוד באופן הדרגתי.היא גם מספקת לכם אפשרות להציג את ה-HTML המלא (תגיות, סגנונות וכו') על ידי בחירה באפשרות הצגת מקור בדפדפן.

פתק

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