Eksport danych do formatu XML

Wprowadzenie: Dostępne od wersji: +CMS 1.1.0.

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>
 <export type="daily" encoding="iso-8859-2" images="url|base64" content="all" only-pulished="no">
 <limit>20</limit>
 <category>Kategoria 1</category>
 <template>/cms/content/templates/artykul.tmpl</template>
 <template template-xml="/cms/content/templates/standard.xml">
 
/cms/content/templates/artykul2.tmpl
 </template>
 <items>plaintext;text;html;link;image;flash</items>
 <baseurl>http://www.strona.pl</baseurl>
 </export>
</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>
<global>
<base url="http://www.strona.pl" />
</global>

<content>

<page id="1" template="/cms/content/templates/artykul.tmpl" date="2004-08-28 14:07:52">
<title>Główna</title>
<css url="/css/default.css" />
<plaintext id="1" hid="Tytuł" pattern="Nazwa: %s">Testowy</plaintext>
<text id="1" hid="Wprowadzenie">Wprowadznie testowy</text>
<html id="1" hid="Artykuł"><DIV style="Z-INDEX: 100; BACKGROUND: red; WIDTH: 200px; HEIGHT: 200px"></DIV><SELECT style="WIDTH: 300px"></SELECT></html>
<link id="2" hid="Link" link="/cms/?id=3">Artykuł testowy</link>
<image id="1" hid="Zdjęcie" border="0" alt="Test" width="1" height="1" hspace="2" vspace="2">/cms/content/repository/images/mandrake.jpg</image><flash id="2" hid="Flash" url="/cms/" />
</page>

<page id="3" template="/cms/content/templates/artykul.tmpl" date="2004-08-28 14:18:53">
<title>Testowy artykuł</title>
<plaintext id="2" hid="Tytuł">Testowy 2</plaintext>
<text id="2" hid="Wprowadzenie">Testowy 2 - wprowadzenie</text>
<image id="2" hid="Zdjęcie" border="0">/cms/content/repository/images/mandrake.jpg </image>
</page>

</content>
</cms>

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>

Metryka dokumentu

Autor: System Administrator Data utworzenia: 2005-11-07 16:58:32
Ostatnia modyfikacja: System Administrator Data modyfikacji: 2006-12-06 14:14:15
Wersja systemu: 1.1.0 Data implementacji:
Nie dotyczy: Element niedostępny w wersji +CMS PUBLIC

Zobacz dokumenty na ten sam temat
  1. ext:rss
  2. Modyfikacja standardu eksportu XML

Copyright © 2003-2010 +CMS Content Management System. All Rights Reserved.

Other languages: English | Polski

We are using:
www.mantisbt.org | phpbb.com | php.net | subversion.tigris.org

Polityka prywatności