Soluția evidentă este înlocuirea etichetei LXP
În unele situații, încorporarea etichetelor LXP în etichetele externe poate funcționa în condiții de siguranță, dar acest lucru nu este recomandat. Poate că cerințele pentru un document LXP corect format în viitor vor deveni mai stricte, deoarece un astfel de atașament nu numai că face dificilă citirea LXP, dar, de asemenea, încalcă integritatea sintactică a marcajului.
Pentru a rezolva astfel de probleme, LXP a introdus o etichetă
Atributul opțional xappend vă permite să atașați un șir arbitrar la sfârșitul etichetei generate. De exemplu, atributul xappend = "checked" din eticheta de etichetă HTML creează o etichetă .
Toate celelalte atribute sunt transmise etichetei externe neschimbate. În parte, această circumstanță explică utilitatea etichetei
Listing 13.31. Înlocuirea într-o etichetă externă cu un bloc gol
Rezultatul acestui fragment în documentul LXP (se presupune că lățimea variabilă este setată la 10):
<1mg src="images/spacer/gif" width="10" />
Acordați atenție caracterului următor / în etichetă
Dacă eticheta
și simbolul final /. În caz contrar, LXP va accepta cea mai apropiată etichetă de închidere pentru eticheta pereche a ultimei etichete de deschidere
<-- ОШИБКА: тег с пустым блоком должен заканчиваться символом / -->
Acest fragment utilizează trei etichete Dacă variabila table_width este de 100, iar lățimea non-temporară este de 10, rezultatul greșit va arăta astfel: <-- ОШИБКА: тег с пустым блоком должен заканчиваться символом / --> Lista 13.32 prezintă combinația corectă de etichete Lista 13.32. Utilizarea etichetelor imbricate <-- ПРАВИЛЬНО: тег с пустым блоком заканчивается символом / --> Deoarece a doua etichetă <-- ПРАВИЛЬНО: тег с пустым блоком заканчивается символом / -->, iar a treia (deschidere) încapsulează eticheta . Deoarece eticheta HTML nu are o etichetă de încheiere asociată, această etichetă
, și eticheta.
Articole similare