21-11-2011, 15:52
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
הדפדפן סופג הרבה מאוד שגיאות - הוא לא XML Parser פשטני שצורח הצילו על כל דבר קטן... אם זה לא היה כך, לא הייתה הרעה החולה שנקראת "אתרים שעובדים רק ב IE...", ובאופן כללי דפים באינטרנט היו מוצגים מהר יותר (כי צריך פחות "קסם" בפענוח הדפים כשאתה strict...)
זו בעייה משום שבמסמך XML (ואם אתה עובד עם XHTML, אזי המסמך שלך אמור להיות XML חוקי), הסימן & מהווה תחילית של יישות, וישויות חייבות להיות מוגדרות בסכמה של ה XML המדובר. ולכן אם אתה כותב לדוגמא http://www.domain.com/url?param1=2¶m2=3 אז מפרש ה XML מנסה למצוא ישות שנקראת param2 במסמך ההגדרה (לדוגמא ה DTD של XHTML 1.0), ומשאינו מוצא כזה, זו שגיאה. לכן, כשרוצים לציין את הסימן & במסמך XML, מציינים את הישות של הסימן הזה - במקרה שלנו & - במקרה של מרכאות - " - וכך הלאה. ו htmlentities ב PHP יודע לעשות את זה כל זה אוטומטית
כמובן - שאתה יכול לאמר: "לא מעניין אותי XML!" - וזה סבבה. אתה לא חייב להשתמש ב XHTML. אתה בהחלט יכול להגדיר דף באמצעות תקן HTML שאינו מחייב קונפורמציה עם XML, ואז גם כל הקישורים האלה יעברו ולידציה, כי הם אכן בסדר... אבל אל תצהיר על הדף שלך כדף XML בעוד שהוא לא עונה לחוקי השפה, כפי שעשית...
|