Eksport danych do formatu XML
Opis - wymiana danych za pomocą exportu do pliku XML
Wymiana danych przez format XML pozwala na dzielenie się treścią; zarówno w obrębie jednej witryny jak i pomiędzy oddzielnymi stronami WWW.
Przygotowanie eksportu danych do formatu XML
Eksport danych odbywa się przez wskazanie rodzaju obiektów (elementów) jakie mają się znaleźć w pliku XML. Konfiguracja odbywa się w pliku xml, który należy umieścić w katalogu /cms/rss/xmldefs. Struktura pliku konfiguracyjnego wygląda następująco:
| <cms> |
W sekcji <export></export> znajdują się definicje właściwości pliku.
| <export> | Opis |
| type="daily" | Rodzaj eksport: [daily] - tylko dane z dnia dzisiejszego [weekly] - tylko dane od początku tygodnia. Tydzień zaczyna się od niedzieli. [monthly] - tylko dane z aktualnego miesiąca [annualy] - tylko danego z aktualnego roku |
| from="2006-09-11 00:00:00" | Istnieje też możliwość określenia minimalnej daty utworzenia dokumentu, który ma znaleźć się w eksporcie. [from] - oznacza od jakiej daty. |
| to="2006-09-12 23:59:00" | Istnieje możliwość określenia maksymalnej daty utworzenia dokumentu, który ma znaleźć się w eksporcie. [to] - oznacza do jakiej daty. |
| encoding="iso-8859-2" | rodzaj kodowania. |
| images="url|base64" | Sposób zapisu zdjęc [url] - przekazanie urla do zdjęcia [base64] - zakodowanie zdjęcia w postaci base64 |
| content="all" | Czy ignorować kategoryzację stron |
| only-published="yes|no" | Czy w pliku mają pojawić się jedynie opublikowane strony |
| <limit>20</limit> lub <limit>20,10</limit> | Ile elementów ma znaleźć się w pliku XML. Brak tego oznaczenia spowoduje, że wszystkie dostępne strony będą w pliku XML. Można też określić od którego rekordu ma zacząć się eksport danych, np 20,10 oznacza eksportuj 10 stron począwszy od strony 20-tej. |
| <category>Kategoria 1</category> | Strony należące do jakich kategorii, mają znaleźć się w pliku XML. Kategorii może być kilka. |
| <template template-xml="">/cms/ ../artykul.tmpl </template> | Strony opisane jakim szablonem mają znaleźć się w pliku XML. Możemy dodatkowo ograniczyć eksport do par szablon wyknany przez plik konfiguracyjny XML, wtedy dodajemy atrybut template-xml="url-do-pliku-xml". Szablonów może być kilka. Podajemy wtedy każdy szablon w oddzielnym tagu <template>. Patrz przykład powyżej. |
| <items>plaintext;text;html;image </items> | Jakie elementy mają znaleźć się w pliku XML. Nazwy elementów identyczne jak nazwy tagów w systemie. |
| <baseurl>http://www.strona.pl </baseurl> | Nazwa strony bazowe z której wykonany jest eksport. |
| <access type="allow"> <allow>192.168.0.24</allow> <deny>all</deny> </access> | Jakie serwery mogą pobierać dane. Atrybut typ wyznacza rodzaj araw dostępu. [allow] - zezwalaj tylko wybranym serwerom [deny] - nie zezwalaj wybranym serwerom |
| </export> |
Pobieranie plik XMLu odbywa się przez adres: http://www.nazwa.strony.pl/cms/rss/export.php?_xmldef=plik_konfiguracyjny
Parametr _xmldef opisuje nazwę pliku XML (bez rozszerzenia .xml) umieszczonego w katalogu /cms/rss/xmldefs.
Przykład:
Adres http://www.nazwa.strony.pl/cms/rss/export?_xmldef=all - spowoduje wygenerowanie XML opisanego w pliku /cms/rss/xmldefs/all.xml
Przykładowy plik XML wygląda tak:
| <?xml version="1.0" encoding="ISO-8859-2" ?> <cms> <page id="3" template="/cms/content/templates/artykul.tmpl" date="2004-08-28 14:18:53"> </content> |
Powyższy plik składa się z sekcji <global></global> i sekcji <page></page>. Pomiędzy znacznikami <global > znajduje się opis strony z której pochodzą informacje i ewentualnie dostępne kategorie, a pomiędzy znacznikami <page> ostatnio wprowadzone strony, które spełniają warunki wyspecyfikowane w pliku konfiguracyjnym.
Każdy element, który posiada treść jest zapisany w postaci tagu <nazwa elementu id="" hid=""> dodatkowo dodawane są atrybuty typu styl czy kasa jeżeli element posiada te właściwości zdefiniowane.
Jeżeli element strony istnieje, ale nie wprowadzono do niego treści nie zostanie on dołączony do pliku XML.
Elementy typu zdjęcie (CMS:IMAGE) mogą być zapisane w plik XML w postaci kodu base64. Wymaga to zapisu w plik konfiguracyjnym (<export images="base64">). Każde zdjęcie kodowane przez algorytm base64 posiada atrybut: encoding="base64".
Przykład:
| <image id="1" hid="Zdjęcie" border="0" alt="Test" width="1" height="1" hspace="2" vspace="2" encoding="base64"> /9j/4AAQSkZJRgABAgAAZABkAAD/8AAEQgAmgEBAwERAAIRAQMRAf/EAPYAAQ </image> |

