Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: XML - Wezwanie do zapłaty
Forum PHP.pl > Forum > XML, AJAX
wojtek992
Witam wszystkich

Z góry dziękuje za wyrozumiałość na troszkę naiwne pytanie ,do rzeczy :

Mam zrobić szablon XML potem DTD i XSL na wzór dokumentu wezwanie do zapłaty, zawiera on elementy stałe takie jak nagłówek oraz kilka akapitów, oraz informacje zmienne, które będą czytane z bazy Mysql tj. dane wierzyciela, dane dłużnika itd. Zrobiłem dwa szablony XML, jeden z elementami stałymi jako atrybuty oraz drugi z elementami stałymi jako normalne informacje pomiędzy znacznikami, który lepszy ?
Czy może ktoś opisać zalety i wady obu rozwiązań , jakie kłopoty mogę napotkać w jednym i drugim wypadku ?

Przykład 1

  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2. <WEZWANIEDOZAPŁATY>
  3. <WIERZYCIEL>
  4. <NAZWAWIERZYCIELA/>
  5. <ADRES/>
  6. <NUMERBUDYNKU/>
  7. <NUMERLOKALU/>
  8. <KODPOCZTOWY/>
  9. <MIASTO/>
  10. <NIP/>
  11. </WIERZYCIEL>
  12. <MIEJSCEDATA>
  13. <MIEJSCE/>
  14. <DATA/>
  15. </MIEJSCEDATA>
  16. <DŁUŻNIK>
  17. <NAZWADŁUŻNIKA/>
  18. <ADRES/>
  19. <NUMERBUDYNKU/>
  20. <NUMERLOKALU/>
  21. <KODPOCZTOWY/>
  22. <MIASTO/>
  23. <NIP/>
  24. </DŁUŻNIK>
  25. <NAGŁÓWEK id="1" val="WEZWANIE DO ZAPŁATY"/>
  26. <AKAPIT id="1" val="Niniejszym wzywamy do natychmiastowego uregulowania niniejszej sumy zgodnie z poniższym zestawieniem:"/>
  27. <ZESTAWIENIE>
  28. <NAGŁÓWEKTABELI>
  29. <KOL id="1" val="Lp."/>
  30. <KOL id="2" val="Nr faktury"/>
  31. <KOL id="3" val="Data wystawienia"/>
  32. <KOL id="4" val="Kwota netto"/>
  33. <KOL id="5" val="Kwota brutto"/>
  34. <KOL id="6" val="Termin płatności"/>
  35. <KOL id="7" val="Pozostało do zapłaty"/>
  36. </NAGŁÓWEKTABELI>
  37. <PRZETERMINOWANAFAKTURA>
  38. <LP/>
  39. <NRFAKTURY/>
  40. <DATA/>
  41. <KWOTANETTO/>
  42. <KWOTABRUTTO/>
  43. <TERMINPLATNOSCI/>
  44. <POZOSTAJEDOZAPLATY/>
  45. </PRZETERMINOWANAFAKTURA>
  46. </ZESTAWIENIE>
  47. <AKAPITGRUBY id="1" val="Słownie do zapłaty: "/>
  48. <AKAPIT id="3" val="Wymienioną sumę wraz z odsetkami ustawowymi za opóźnienia w płatności każdej z faktur prosimy przekazać na podany niżej rachunek bankowy w terminie 7 dni od daty otrzymania niniejszego pisma."/>
  49. <DANEBANKU>
  50. <NAZWA/>
  51. <NUMERKONTA/>
  52. </DANEBANKU>
  53. <AKAPIT id="3" val="W przypadku gdy dokonali już Państwo zapłaty prosimy o przesłanie nam faksem kopii polecenia przelewu."/>
  54. <SYGNATURA>
  55. <AKAPIT id="4" val="Z poważaniem"/>
  56. </SYGNATURA>
  57. </WEZWANIEDOZAPŁATY>


Przykład 2


  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2. <WEZWANIEDOZAPŁATY>
  3. <WIERZYCIEL>
  4. <NAZWAWIERZYCIELA>
  5. </NAZWAWIERZYCIELA>
  6. <ADRES>
  7. </ADRES>
  8. <NUMERBUDYNKU>
  9. </NUMERBUDYNKU>
  10. <NUMERLOKALU>
  11. </NUMERLOKALU>
  12. <KODPOCZTOWY>
  13. </KODPOCZTOWY>
  14. <MIASTO>
  15. </MIASTO>
  16. <NIP>
  17. </NIP>
  18. </WIERZYCIEL>
  19. <MIEJSCEDATA>
  20. <MIEJSCE>
  21. </MIEJSCE>
  22. <DATA>
  23. </DATA>
  24. </MIEJSCEDATA>
  25. <DŁUŻNIK>
  26. <NAZWADŁUŻNIKA>
  27. </NAZWADŁUŻNIKA>
  28. <ADRES>
  29. </ADRES>
  30. <NUMERBUDYNKU>
  31. </NUMERBUDYNKU>
  32. <NUMERLOKALU>
  33. </NUMERLOKALU>
  34. <KODPOCZTOWY>
  35. </KODPOCZTOWY>
  36. <MIASTO>
  37. </MIASTO>
  38. <NIP>
  39. </NIP>
  40. </DŁUŻNIK>
  41. <NAGŁÓWEK id="1">WEZWANIE DO ZAPŁATY</NAGŁÓWEK>
  42. <AKAPIT id="1">Niniejszym wzywamy do natychmiastowego uregulowania niniejszej sumy zgodnie z poniższym zestawieniem:</AKAPIT>
  43. <ZESTAWIENIE>
  44. <NAGŁÓWEKTABELI>
  45. <KOL id="1">Lp.</KOL>
  46. <KOL id="2">Nr. faktury</KOL>
  47. <KOL id="3">Data wystawienia</KOL>
  48. <KOL id="4">Kwota netto</KOL>
  49. <KOL id="5">Kwota brutto</KOL>
  50. <KOL id="6">Termin płatności</KOL>
  51. <KOL id="7">Pozostało do zapłaty</KOL>
  52. </NAGŁÓWEKTABELI>
  53. <PRZETERMINOWANAFAKTURA>
  54. <LP>
  55. </LP>
  56. <NRFAKTURY>
  57. </NRFAKTURY>
  58. <DATA>
  59. </DATA>
  60. <KWOTANETTO>
  61. </KWOTANETTO>
  62. <KWOTABRUTTO>
  63. </KWOTABRUTTO>
  64. <TERMINPLATNOSCI>
  65. </TERMINPLATNOSCI>
  66. <POZOSTAJEDOZAPLATY>
  67. </POZOSTAJEDOZAPLATY>
  68. </PRZETERMINOWANAFAKTURA>
  69. </ZESTAWIENIE>
  70. <AKAPITGRUBY id="1">Słownie do zapłaty:</AKAPITGRUBY>
  71. <AKAPIT id="3">Wymienioną sumę wraz z odsetkami ustawowymi za opóźnienia w płatności każdej z faktur prosimy przekazać na podany niżej rachunek bankowy w terminie 7 dni od daty otrzymania niniejszego pisma.</AKAPIT>
  72. <DANEBANKU>
  73. <NAZWA>
  74. </NAZWA>
  75. <NUMERKONTA>
  76. </NUMERKONTA>
  77. </DANEBANKU>
  78. <AKAPIT id="3">W przypadku gdy dokonali już Państwo zapłaty prosimy o przesłanie nam faksem kopii polecenia przelewu.</AKAPIT>
  79. <SYGNATURA>
  80. <AKAPIT id="4">Z poważaniem</AKAPIT>
  81. </SYGNATURA>
  82. </WEZWANIEDOZAPŁATY>



Mam nadzieje że ne zostanę aż tak bardzo wyśmiany guitar.gif
kalmaceta
po 1. utf-8,
po 2. drugi przykład jest zupełnie bez sensu - znaczniki i ich parametry mają definiować zawartość nie twórz ich jako nazw kolumn, pól.
po 3. dane umieszcza się w znacznikach, a nie w parametrach (u Ciebie val w pierwszym przykładzie, co czyni go też bez sensu) - co będzie jak ktoś będzie chciał wpisać do node AKAPIT >.
wojtek992
Dziękuje za pomoc

Czyli jak usunę z pierwszego przykładu wszystkie atrybuty val to będzie ok ?

Stały tekst wynikający ze wzoru jakiegoś dokumentu dodaje dopiero potem przy implementacji XSL ?

Jeśli źle myślę to proszę o poprawienie.
wookieb
Cytat
po 3. dane umieszcza się w znacznikach, a nie w parametrach (u Ciebie val w pierwszym przykładzie, co czyni go też bez sensu) - co będzie jak ktoś będzie chciał wpisać do node AKAPIT >.

Nie wszystkie. Faktycznie VAL nie ma sensu ale ID jak najbardziej.
Co prawda nie ma jasnych reguł jak powinno się "projektować" xml-e ale mniej więcej umowne jest to, że :
- w atrybutach przechowujemy wartości nie przeznaczone do przeczytania dla człowieka (adresy URL, ID)
- w elementach przechowujemy wartości przeznaczone dla ludzi (tytuł, opis)
wojtek992
To mi już dużo wyjaśniło

Cytat
Stały tekst wynikający ze wzoru jakiegoś dokumentu dodaje dopiero potem przy implementacji XSL ?


Czy z tym dobrze myślę ? To ważne, muszę wiedzieć kiedy dodaje te stałe elementy wzoru.
kalmaceta
Tak stały tekst "szablonu" zostawić w "szablonie" - XML tylko dane zmienne do wypełnienia

@wojtek992 pod słowem "dane" miałem na myśli właśnie informacje przeinaczone do wyświetlenia, jak najbardziej masz racje:)
wojtek992
Dziękuje wszystkim za pomoc , już rozumiem o co chodzi temat do zamknięcia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.