Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Walidacja XML z użyciem własnego DTD
NoiseMc
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Mój problem wygląda następująco:
Chcę w swojej aplikacji wyeksportowac dane do pliku XML, które potem moge zaimportowac do innej napisanej przez siebie aplikacji.
Żeby uniknąć niespójności danych, błedów przy imporcie danych będę eksportował dane do pliku według okreslonego przeze mnie schematu i przy imporcie sprawdzał czy importowany plik jest zgodny z określoną przeze mnie specyfikacją.
Jestem poczatkujący w temacie XML ale kojarzę, że walidację XML - a można przeprowadzać za pomocą DTD.
Znalazłem klasę z PEAR, która takowej walidacji dokonuje ale nie mam pojęcia jak napisać plik deklaracji DTD.

Struktura dokumentu wygląda następująco:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <MailingList>
  3.    <Item>
  4.        <Mail>E_mail_02ffd@example.pl</Mail>
  5.        <DataDopisania>2005-09-22</DataDopisania>
  6.    </Item>
  7.    <Item>
  8.        <Mail>E_mail_02df5@example.pl</Mail>
  9.        <DataDopisania>2005-09-22</DataDopisania>
  10.    </Item>
  11. </MailingList>


Proszę o rady, sugestie jak powinno się rozwiązywac tego typu problemy


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Sh4dow
post
Post #2





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


deklaracje dtd nie sa az takie trudne smile.gif

Kod
<!ELEMENT Mailinglist (Item*) >
<!ELEMENT Item ( Mail, DataPodpisania ) >
<!ELEMENT Mail (#PCDATA) >
<!ELEMENT DataPodpisania (#PCDATA) >


to chyba na tyle. Zycze powodzenia smile.gif Pamietaj ze wielkosc liter jest wazny Rkingsmiley.png


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
NoiseMc
post
Post #3





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dzięki wielkie, zaraz będe kombinował z walidacją. Jak już wspomniałem zaczynam dopiero cokolwiek działać z XML winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


http://www.mmg.vmei.acad.bg/xml/
calkiem niezla pozycja o XMLu -- jestem w trakcie jej drukowania.
EDIT: zapomnialem polecic rozdzialu o DTD

Ten post edytował dr_bonzo 22.09.2005, 15:50:17


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
NoiseMc
post
Post #5





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


A tak jako ciekawostka:
Plik XML zawierający eksport 19 000 adresów mailowych, wygenerowany przy użyciu PEAR:XML_Serializer waży 2,26 MB, a czas jego wygenerowania to 21s.

Natomiast te same dane jako zserializowany obiekt zawierający tablicę maili, potraktowany base64 i chunk_split waży 2,4 MB i UWAGA czas wygenerowania 2s czyli 10 razy mniej

Mimo to zostawię opcje eksportowania w XML, może kiedyś będę potrzebował danych do aplikacji napisanej na innej platformie niż php winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Sh4dow
post
Post #6





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


No tak zapomnielaem troche wszystko oprawic w <!DOCTYPE ale musisz mi wybaczyc pisalem z glowy w pracy tongue.gif
Co do serializowanej tablici to bym sie nie dziwil, bedzie duzo szybciej, ale jesli chodzi o mozliwosc przeniesienia iedzy roznymi programami/platformami, to niestety XML jest tu chyba niezastapiony smile.gif


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 16:42