שלח תשובה

זירת השאלות

705
צפיות
9
תשובות

XMLDOM+XMLNS+IE+BR

,‏ 6 בינואר, 2005

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

בעמוד ה-XML שלי אני הגדרתי על XMLNS שמקבל את הגדרות ה-HTML כדי שאני אוכל  להשתמש בתגית BR.
כאשר אני מושך את הטקסט שאני אוסף בתוך ה-XML דרך JS אני מן הסתם מקבל במקום ה-BR מחרוזת שיש בתוכה n. לכן כאשר משכתי את הטקסט אני עשיתי ריפלייס בחזרה. בחלק מהמקרים יש לי שני BRים רצופים, עכשיו, ב-FF זה מחליף לי לשני BRים כמו שצריך אבל ב-IE זה עדיין מחליף לי ל-BR אחד.
קישור לעמוד שעוסק בכל זה:
http://www17.brinkster.com/anastaciail/lyrics/lyrics.html
קישור לקובץ ה-XML:
http://www17.brinkster.com/anastaciail/lyrics/XMLLyrics.xml

וזו הפונקציה שאחראית על השמת המידע בתוך הדף:

// song is a XML Element that contain the name os the song and his lyrics
function showLyrics(song){
    var cont = song.getElementsByTagName("lyrics")[0], name=song.getElementsByTagName("name")[0];
    name = name.textContent?name.textContent:name.text;
    cont = (cont.textContent)?cont.textContent:cont.text;
    cont = cont.replace(/n/g,"<br />");
    lyricsContent.innerHTML = ""
        + "<strong class="headline">"+name+"</strong>" + "n"
        + "<div>" + cont +"</div>";
}



תודה רבה לעוזרים.

תגיות:

9 תשובות

  1. ניר טייב הגיב:

    תודה לאל נפתר

    cont = cont.replace(/n/mg,"<br />");

  2. ניר טייב הגיב:

    סודר
    פניתי למאפיין XML שמחזיר קוד XML במקום ל-TEXT ועכשיו הכל עובד כשורה
    מה שטיול קטן ב-MSDN יכול לעשות

  3. זהר פלד הגיב:

    למה אתה בכלל עובד עם xmldom?
    לא יותר נוח ופשוט לעבוד עם xsl?

    (לא שאני כזה מומחה, אבל הספקתי קצת לעבוד גם עם זה וגם עם זה, וה XSL נותן תוצאות הרבה יותר יפות לדעתי…)

  4. ניר טייב הגיב:

    אני לא יודע XSL
    למרות שאני יכול ללמוד זאת כמו שאני לומד עוד הרבה דברים אחרים כשאני צריך אותם
    איני יודע אם יש אפשרות כזו אבל אני צריך לשלב את הXML בתוך עמוד טמפלייט HTML שהכנתי לעצמי.
    אם הייתה איזה תגית תקנית שמכניסה XML לתוך העמוד אז אני מניח שב-FF ואופרה היו מיישימים את זה כבר (מה שנקרא כיום XML Island שעובד רק ב-IE) אז לדעתי הייתי משתמש ב-XSL במקרים כאלו.

    אני גם מכיר הרבה יותר טוב את XML DOM לכן זה דיי נוח לי

  5. זהר פלד הגיב:

    מה דעתך על
    xmlhttp שיטען את התוכן לתוך div, כשהתוכן הזה יהיה דף XML עם קישור ל XSL שיתרגם אותו ל HTML?
    (זה הרבה יותר טוב ממה שזה נשמע)
    עשיתי את זה גם בצד הלקוח וגם בצד השרת, וזה עובד חלק…
    בצורה הזו אתה גם יכול לציין קלאסים ב XSL שלך, ולהכליל את קובץ ה style דרך ה HTML…

  6. ניר טייב הגיב:

    זהר…
    אני הצלחתי בדרך הרגילה להכליל קובץ CSS בתוך ה-XSL.

  7. זהר פלד הגיב:

    מה, עם תג style?
    אני לא הצלחתי לא עם תג style ולא עם תג link…
    אולי זה תלוי גם בדפדפן…. אצלי יש ie6

  8. ניר טייב הגיב:

    אצלי הצלחתי גם עם link גם עם style
    ולי יש גם IE6.
    יכול להיות שהגדרת את ה-XSL בדרך השנייה?
    כי אני הגדרתי כך:

    <xsl:stylesheet version="1.0" xmlns_xsl="http://www.w3.org/1999/XSL/Transform"&gt;

שלח תשובה