עזרה בXML ו XSL

עזרה בXML ו XSL

איך אני יכול לשנות STYLESHEET בעזרת JAVASCRIPT (ע"י לחיצה על כפתור לדוגמא) שמקושר לקובץ XML? אני רוצה שיהיו לי שני גיליונות עיצוב (XSL ולא CSS) ושאוכל להחליף בינהם בזמן השימוש דרך הדפדפן. תודה מראש על כל עזרה ברק.

הנה

הלינק הראשון הוא לxsl בצד הלקוח: http://www.xmlfiles.com/xsl/xsl_client.asp הלינק השני הוא לxsl בצד השרת: http://www.xmlfiles.com/xsl/xsl_server.asp אני הייתי מציע לעשות את המטלה שלך בצד הלקוח לאחר שתראה דוגמא אחת של טרנספורמציה בצד הלקוח פשוט תטען עם הדף קובץ xsl נוסף ובעת הלחיצה על הכפתור תחיל את הקובץ xml על הxsl החדש.

תודה על ההצעה אבל...

אני לא רוצה קשר ל HTML בעניין הזה הכל עובד כמו שצריך באקספלורר 6 ובמוזילה שלי וזה מה שמעניין אותי (הפתרון שנתת לי לא יעבוד במוזילה). אני בטוח שיש דרך לעשות את זה אם רק הייתי יודע איך לשלוט על ה DOM של ה XML או להפעיל JS EVENT דרכו. תודה בכל מקרה.

לא בטוח שהבנתי אותך

הזכרת שלוש טכנולוגיות: javaScript , xml , xsl. אני מתייחס רק לשלושת הטכנולוגיות האלה. באיזה אירוע שאתה מעוניין בו (jScript event) קרא לxml parser שלך ואמור לו (הדוגמא שהבאתי לך מראה כיצד לעשות זאת ב microsft xml parser 3) לעשות טרנספורמציה לקובץ xml בעזרת אחד מקבצי הxsl. את קבצי הxml,xsl אתה מאחסן במשתני jScript מראש או בפרסר של מיקרוסופט אתה גם יכול לטעון אותם מהשרת בזמן ריצת הסקריפט. איפה איבדתי אותך?

תשובה

אני רוצה להשתמש בJAVASCRIPT כדי להחליף בין שני גליונות נתונים בדיוק כמו שאפשר בHTML לעשות זאת בדרך כלל כדי להחליף CSS לCSS אחר. אני לא צריך את ה JS כדי לעשות את הטרנפורמציה כפי שכבר ציינתי הפתרון דרך ה XML PARSER של מיקרוסופט לא יפעל על מוזילה והוא שלב מיותר מבחינתי כל מה שאני צריך זה לדעת איך להליף את הHREF בתג לדוגמא ל ואני מסודר כל הטרנספורמציה מתבצעת בצד הלקוח ע"י הדפדן כמו שצריך.

יש כאן קצת סתירות

אם אתה רוצה להחליף ערך של תכונה בxml או בכלל לגשת לקובץ הxml כמבנה בינארי אתה צריך לעבור דרך פרסר כלשהו... עד כאן אני מקווה שאנחנו מסכימים. אם אתה שואף לגשת עם js לקובץ הxml אתה תשתמש באיזשהו פרסר כדי לעשות את זה. אם זה יהיה עם הפסר של מיקרוסופט - מה טוב. אם זה יהיה עם פרסר אחר - גם טוב, אני לא שמעתי על פרסר אחר שנתמך בדפדפני מיקרוסופט וככל הידוע לי אין כזה. אתה כותב: "כל הטרנספורמציה מתבצעת בצד הלקוח ע"י הדפדן כמו שצריך". הדפדפן אינו יודע לעבוד עם xml אלא שפת הסקריפט שרצה על הדפדפן ניגשת לאובייקט מסוג xml parser ומבקשת ממנו לעשות את הפעולות על הxml. אתה כותב: "כל מה שאני צריך זה לדעת איך להליף את הHREF" כדי לגשת לתכונה href יש לפרסר את קובץ הxml. עד כאן אנחנו מסכימים?

ההסבר הכי מוסבר שאני יכול לתת (אם תהיה שוב בעיה בהבנה אני אנסה יותר :)

תשמע אני ממש חדש לכל העניין ואין ממש מושג מה עושה האקספלורר וביאזה פרסר הוא משתמש זה גם לא מעניין אותי. אני אתן לך דוגמא פשוטה תגיד לי פשוט אם זה אפשרי או לא (עזוב טכנית מה קורה) יש לי שני קבצים בלבד קובץ CONTANT.XML (קובץ בו אני שומר את המידע) STYLE1.XSL (קובץ עיצוב ומבנה שעשיתי כמובן במיוחד לXML שציינתי מקודם), בקובץ הXML אני מוסיף את השורה שתקשר בין הקבצים, נכון לעכשיו ללא שימוש בשום קוד JS כאשר אפתח את הקובץ CONTANT.XML בדפדפן אקספלורר6 או מוזילה הקובץ יעבור טרנסופרמציה על פי הגדרות העיצוב והמבנה שהגדרתי ב STYLE1.XSL . עד כאן אתה מסכים איתי, נכון? עכשיו יש לי קובץ עיצוב נוסף STYLE2.XSL והוא יפעל טוב מאד אם רק אחליף את ה HREF של הגדרת העיצוב בXML (כמו שהגדרתי למעלה) לשם שלו. עד כאן אני מקווה שאתה איתי ומסכים איתי. עכשיו הייתי רוצה לדעת אם יש פתרון פשוט (אני כמעט בטוח שיש ) ללא שימוש בכל PARSER הדורש כתיבת סקריפט נוסף פשוט לגרום לכך שהHERF של ה XML ישתנה ויקרא לקובץ היעיצוב השני. אתן לך דוגמא שנעשית המון עם שני קבצים שונים קובצ CONTATN.HTML (קובץ למידע) וקובץ STLYLE1.CSS ) קובץ עיצוב. בקובץ ה HTML יש את השורה אותה בקלות אפשר לשנות דרך JS שתצביע על קובץ עיצור אחר. הבעיה היא שבXML מצד אחד אומרים לי שאי אפשר לשלוט בתוכן שלו עם JS עד שלו מעבירים אותו ב PARSER כלשהו ומצד שני במקום היחיד שאני יכול להשתמש בJS EVENTS ואני אכן משתמש אי אפשר לעשות את הבעולה הנ"ל מהסיבה הפשוטה שאי אפשר לקרוא להחלפת קובצ עיצוב מקובץ העיצוב עצמו.
עבור לעמוד
בחזרה לפורום
כרגע בפורום זה: אין משתמשים רשומים
עבור לפורום:
תיכנות
בחר
בחר