Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw2008_xtt_xmlpro [2008/06/09 19:47] miw |
pl:miw:miw2008_xtt_xmlpro [2019/06/27 15:50] (aktualna) |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
Maksymilian Imioło <maximiolo@o2.pl> | Maksymilian Imioło <maximiolo@o2.pl> |
| |
Translacja XTTML do innych formatów z użyciem Prologu. | Translacja XTTML do innych formatów z użyciem Prologu. |
| |
====== Spotkania ====== | |
===== 08.03.04 ===== | |
* parsowanie xml w prologu | |
* obsługa XSD w prologu | |
* poczytac: graphviz, RIF | |
| |
| |
| |
===== 080318 ===== | |
* poczytać... | |
| |
===== 080408 ===== | |
* translacja [[hekate:hekate_markup_language|HML/ARDML]] (produkowanego przez [[hekate:VARDA]]) | |
* przykład z [[hekate:hekate_case_thermostat]] therm jako p. odn. | |
* podejście: | |
- mamy plik ARDML z Vardy (axg.) | |
- parsujemy go w prologu | |
- generujemy bazę wiedzy prologową dla VARDA (ard_att/1, ard_property/1, ard_depend/2, ard_hist/2) (assert(ard_att('Thermostat'))) (czyli to, co dostaniemy po listing(ard_depend),listing(ard_attribute),listing(ard_property),listing(ard_hist).) | |
- generujemy odpowiadający mu plik DOT | |
| |
http://www.swi-prolog.org/packages/sgml2pl.html | ====== Spotkania====== |
load_xml_file(+File, -ListOfContent) | |
| [[pl:miw:miw2008_xtt_xmlpro:spotkania|Spotkania]] |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
np: | |
<att name="Thermostat"/> -> assert(ard_att('Thermostat')). | |
| |
| |
| |
===== 080415 ===== | |
* parsowanie listy | |
| |
===== 080422 ===== | |
* generowanie prologu | |
| |
| |
| |
| |
===== 080603 ===== | |
* testy kodu dla varda, po ang, upload do wiki | |
* [[pl:miw:miw08_xtt_rif|XTT i RIF]] | |
===== 080610 ===== | |
* sprawozd | |
| |
====== Projekt ====== | ====== Projekt ====== |
| |
Plik do parsowania: {{:pl:miw:ard-vardy.xml|:pl:miw:ard-vardy.xml}} | Plik do parsowania: {{:pl:miw:ard-vardy.xml|:pl:miw:ard-vardy.xml}} |
| |
| |
| |
| |
| |
Translator można uruchomić na kilka sposobów: | Translator można uruchomić na kilka sposobów: |
1 | ===1=== |
Załadować plik źródłowy i wpisać : translate('Source.xml','Destination.xml'). | Załadować plik źródłowy i wpisać : translate('Source.xml','Destination.xml'). |
Otrzymamy wydruk na ekranie monitora oraz, zapis do wskazanego pliku. | Otrzymamy wydruk na ekranie monitora oraz, zapis do wskazanego pliku. |
2 | ===2 === |
Załadować plik źródłowy i wpisać : translate('Source.xml'). | Załadować plik źródłowy i wpisać : translate('Source.xml'). |
Otrzymamy wydruk na ekranie monitora, jeśli będziemy chcieli zapisać do pliku to należy | Otrzymamy wydruk na ekranie monitora, jeśli będziemy chcieli zapisać do pliku to należy |
wpisać: save('Destination.xml'). | wpisać: save('Destination.xml'). |
3 | === 3 === |
Można połączyć translator bezpośrednio z vardą umieszczając odpowiedni wpis w pliku "VARDA.pl", | Można połączyć translator bezpośrednio z vardą umieszczając odpowiedni wpis w pliku "VARDA.pl", |
":-ensure_loaded('varda_pl2xml').", dzięki temu no załadowaniu vardy i wygenerowaniu pliku przy pomocy axg, | ":-ensure_loaded('varda_pl2xml').", dzięki temu no załadowaniu vardy i wygenerowaniu pliku przy pomocy axg, |
| |
Dla potrzeb wyświetlenia wyników plik wyjściowy został powyżej dołączony z rozszerzeniem pl. | Dla potrzeb wyświetlenia wyników plik wyjściowy został powyżej dołączony z rozszerzeniem pl. |
| |
| |
| |
| |
assert(view(ListaGlob2)), | assert(view(ListaGlob2)), |
retractall(memoryList(_)), | retractall(memoryList(_)), |
| </code> |
| ===Podczas kompilacji=== |
| Podczas kompilacji otrzymuję komunikat, który jednak nie ma wpływu na otrzymany wynik translacji. |
| <code prolog> |
| ERROR: SGML2PL(xml): input.xml:2: file ".\hml.dtd" does not exist |
| </code> |
| Błąd ten dotyczy linijki, która pojawiła sie w wersji 1 Vardy. |
| <code prolog> |
| <!DOCTYPE hml SYSTEM "hml.dtd"> |
| |
</code> | </code> |
| |