Typy danych w Atom

Elementy <content>, <summary><title> mogą zawierać zwykły tekst, HTML, XHTML lub nawet osadzone pliki.

Rodzaj zawartości: type

Tekst: type="text"

Atrybut type ma domyślną wartość text, co oznacza, że zawartością elementu jest zwykły, niesformatowany tekst.

 <title>Przykładowy tekst</title>

 <summary type="text">To jest zawartość elementu &lt;summary&gt;</summary>

Tekst musi używać encji do zapisu "<" oraz "&", aby nie kolidować ze składnią pliku XML.

XHTML: type="xhtml"

Zawartością ma być jeden element <div xmlns="http://www.w3.org/1999/xhtml">, który z kolei może zawierać dowolny kod XHTML, który był by w nim poprawny.

Atrybut xmlns<div> określa, że to element należący do przestrzeni nazw XHTML, dzięki czemu elementy XHTML nie będą mylone z elementami Atom.

  <title type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml">
      To <em>jest</em> zawartość elementu &lt;title&gt;
    </div>
  </title>

HTML: type="html"

Ponieważ HTML nie jest kompatybilny z XML nie może być w nim użyty bezpośrednio tak, jak XHTML. Dlatego musi zostać potraktowany podobnie jak tekst i mieć wszystkie znaki "<" i "&" zamienione na encje. Nie wymaga natomiast dodania elementu <div>.

Żeby umieścić fragment HTML:

  <p>Użycie HTML <em>wymaga</em> użycia encji</p>

Trzeba go zapisać następująco:

  <content type="html">
    &lt;p&gt;Użycie HTML &lt;em&gt;wymaga&lt;/em&gt; użycia encji&lt;/p&gt;
  </content>

Encje w HTML wymagają zamiany "&" na &amp; w Atom, więc fragment:

 <p>To jest znacznik &lt;html&gt;</p>

będzie wyglądał tak:

  <content type="html">
    &lt;p&gt;To jest znacznik &amp;lt;html&amp;gt;&lt;/p&gt;
  </content>

W PHP wystarczy cały kod HTML do wstawienia przefiltrować za pomocą funkcji htmlspecialchars()

Pytania? Komentarze? Napisz na forum kursu lub edytuj tę stronę.


Zmodyfikowano: 09.04.2006, 13:26