Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_xtt_xml [2008/03/26 00:30] miw |
pl:miw:miw08_xtt_xml [2019/06/27 15:50] (aktualna) |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
| |
Szymon Deja <szydej@gmail.com> | Szymon Deja <szydej@gmail.com> |
| |
| |
===== 080318 ===== | ===== 080318 ===== |
* próba translacji [[student:xttml20|XTTML20]] do graphviza | * próba translacji [[hekatedev:hqed:xttml20|XTTML20]] do graphviza |
| |
===== 080401 ===== | ===== 080401 ===== |
| |
| |
| ===== 080408 ===== |
| * co jest nie tak? |
| * [[http://xml.apache.org/xalan/|xalan]] |
| |
| ===== 080415 ===== |
| * jw |
| |
[[[[Internal Link]][[Internal Link]]]] | ===== 080429 ===== |
| * [[hekate:hekate_markup_language#xttml]] |
| |
| ===== 080527 ===== |
| * przykłady xttml |
| * sprawozd |
| |
====== Projekt ====== | ====== Projekt ====== |
| |
</code> | </code> |
| |
| |
| |
| |
===== 080401 ===== | ===== 080401 ===== |
| |
xttml -> svg (XSL) {{:pl:miw:xttml2svg.xml|xttml2svg.xsl}} | xttml -> svg (XSL) {{:pl:miw:xttml2svg2.xml|xttml2svg.xsl}} |
| |
| |
| |
<code xml> | <code xml> |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/2000/svg" xmlns:fn ="http://www.w3.org/2005/02/xpath-functions"> |
| |
xmlns="http://www.w3.org/2000/svg"> | |
<xsl:variable name="temp" /> | <xsl:variable name="temp" /> |
<xsl:output method="xml" indent="yes" omit-xml-declaration="no" /> | <xsl:output method="xml" indent="yes" omit-xml-declaration="no" /> |
</xsl:template> | </xsl:template> |
| |
<xsl:template match="xtt_table"> | <xsl:template match="//xtt_table"> |
| |
<xsl:variable name="xpos" select=" ./localization/@xpos "/> | <xsl:variable name="xpos" select=" ./localization/@xpos "/> |
<xsl:variable name="ypos" select="./localization/@ypos "/> | <xsl:variable name="ypos" select="./localization/@ypos "/> |
| |
| |
<xsl:variable name="header" select="./localization/@header_height "/> | <xsl:variable name="header" select="./localization/@header_height "/> |
| |
| |
| |
<xsl:template match="xtt_connection"> | <xsl:template match="//xtt_connection"> |
| |
<xsl:variable name="pozycja" select=" position() "/> | <xsl:variable name="pozycja" select=" position() "/> |
<xsl:variable name="drow" select="@destination_row +1"/> | <xsl:variable name="drow" select="@destination_row +1"/> |
| |
<xsl:value-of select="$drow"/> :: <xsl:value-of select="$srow"/>,: | |
| |
<xsl:variable name="x1" select=" /xttml/xtt_list_table/xtt_table[@name = $stab]/localization/@xpos + sum(/xttml/xtt_list_table/xtt_table[@name = $stab]/localization/col_widths/cw[ position() < last()+1])"/> | <xsl:variable name="x1" select=" /xttml/xtt_list_table/xtt_table[@name = $stab]/localization/@xpos + sum(/xttml/xtt_list_table/xtt_table[@name = $stab]/localization/col_widths/cw[ position() < last()+1])"/> |
| |
<polyline points="{$x1},{$y1},{$x2},{$y2}" | <polyline points="{$x1},{$y1},{$x2},{$y2}" |
style="fill:white;stroke:red;stroke-width:1"/> | style="fill:white;stroke:red;stroke-width:1"/> |
</xsl:template> | </xsl:template> |
| |
| |
</xsl:stylesheet> | </xsl:stylesheet> |
| |
| |
| |
</code> | </code> |
| |
| |
| |
| |
| |
| |
| |
| |
| ===== svg ===== |
| Plik wejsciowy {{:pl:miw:thermostat2.0.xml|:pl:miw:thermostat2.0.xml}} |
| |
| przykladowy wynik translatora {{:pl:miw:termostat2.svg|termostat.svg}} |
| |
| |
| |
| {{:pl:miw:termostat.jpg|{{:pl:miw:prolog_javasockets_v.1.jpg|:pl:miw:prolog_javasockets_v.1.jpg}}}} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ===== xalan ===== |
| |
| java org.apache.xalan.xslt.Process -in thermostat2.0.xml -xsl xttml2svg.xsl |
| |
| Firefox tez sobier radzi z tralnslacja pliku (musi byc dostepny plik xtt2svg.xsl) : {{pl:miw:thermostat2.0.xml|thermostat.xml}} |
| |
| Saxon |
| java net.sf.saxon.Transform -s:source -xsl:stylesheet -o:output |
| |
| |
| |
====== Sprawozdanie ====== | ====== Sprawozdanie ====== |
| Celem projektu było stworzenie tlanslatroa XSLT z formatu XTT do plików dot oraz SVG. |
| Niestety reprezentacja plików XTT nie prezentuje sie najlepiej w graphize. Ograniczenia jakie napotkałem podczas tworzenia plików dot są opisane poniżej: |
| |
| |
| |
| ===== xttml→gv ===== |
| |
| Translacja XTTML20 do graphviza |
| * Translacja dotml do grapviza (dot) {{:pl:miw:dotml2dot.txt|dotml2dot.xsl}} |
| * Translacja XTTML20 do dotml (XSLT) {{:pl:miw:xtt2dot.txt|xtt2dotml.xsl}} |
| |
| |
Opis ograniczeń podejścia xttml→gv | Opis ograniczeń podejścia xttml→gv |
* Tekst w komurakch tabeli nie moze zawierać znaków : <, >, }, { | * Tekst w komurakch tabeli nie moze zawierać znaków : <, >, }, { |
| |
| |
| |
| |
| |
| ===== xttml→SVG ===== |
| |
| Plik XSL: |
| xttml -> svg (XSL) {{:pl:miw:xttml2svg2.xml|xttml2svg.xsl}} |
| |
| |
| Działanie translatora zostało przetestowane na poniższych silnikach XSLT: |
| Poniżej podano komendy wywołujące dany silnik. |
| |
| XALAN |
| java org.apache.xalan.xslt.Process -in thermostat2.0.xml -xsl xttml2svg.xsl |
| |
| Saxon |
| java net.sf.saxon.Transform -s:source -xsl:stylesheet -o:output |
| |
| Przykładowy wynik działania translatora dla pliku termostat: |
| przykladowy wynik translatora {{:pl:miw:termostat2.svg|termostat.svg}} |
| |
| |
| |
| {{:pl:miw:termostat.jpg|{{:pl:miw:prolog_javasockets_v.1.jpg|:pl:miw:prolog_javasockets_v.1.jpg}} |
| |
| |