<div dir="ltr">Bash nepozná xslt skript, ale len bash skript. Na prácu s xstl a xml používam príkaz xmlstarlet, ale isto poslúži aj xsltproc.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Nov 5, 2023 at 9:43 AM Miloš Šmíd <<a href="mailto:smid.milos@gmail.com" target="_blank">smid.milos@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:large">Dobrý den,</div><div class="gmail_default" style="font-size:large">bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z <a href="http://overpass-turbo.eu" target="_blank">overpass-turbo.eu</a> do zjednodušeného formátu xml pro aplikaci Dot Walker (pro nevidomé).</div><div class="gmail_default" style="font-size:large">Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? Kam ho umístit nebo jak k němu skript navést, aby ho načetl?</div><div class="gmail_default" style="font-size:large">Pro přiblížení - návod, který jsem zde získal:</div><div class="gmail_default" style="font-size:large"><span style="font-size:12pt;line-height:150%;font-family:Arial,sans-serif;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Pokud jste
dostali data ve formátu XML, budete je muset transformovat na vámi požadovaný
formát. K tomu můžete použít různé nástroje nebo skripty. Jeden z jednoduchých
způsobů je použití XSLT (Extensible Stylesheet Language Transformations).</span><span style="font-size:12pt;line-height:150%;font-family:Arial,sans-serif"><br>
<br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> Zde je jednoduchý XSLT skript,
který by mohl provést transformaci:</span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> ```xml</span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> <xsl:stylesheet
version="1.0" xmlns:xsl="</span></span><span style="font-size:12pt;line-height:150%;font-family:"Microsoft Sans Serif",sans-serif;color:black"><a href="http://www.w3.org/1999/XSL/Transform" style="color:rgb(5,99,193)" target="_blank"><span style="color:rgb(17,85,204);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">http://www.w3.org/1999/XSL/Transform</span></a></span><span style="font-size:12pt;line-height:150%;font-family:Arial,sans-serif;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">"></span><span style="font-size:12pt;line-height:150%;font-family:Arial,sans-serif"><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> <xsl:output
method="xml" version="1.0" encoding="UTF-8"
indent="yes"/></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> <xsl:template
match="/osm"></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> <Route></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<xsl:for-each select="node[@k='highway' and
@v='bus_stop']"></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<Point></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<Title><xsl:value-of select="@name"/></Title></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<Lat><xsl:value-of select="@lat"/></Lat></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<Lng><xsl:value-of select="@lon"/></Lng></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<Description>stanice</Description></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
</Point></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
</xsl:for-each></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </Route></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </xsl:template></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </xsl:stylesheet></span><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> ```</span><br>
Po Entru tedy spuštění skriptu to napíše:</span></div><div class="gmail_default" style="font-size:large"><span style="font-size:12pt;line-height:150%;font-family:Arial,sans-serif">-bash: xml: command not found<br>-bash: command substitution: line 2: syntax error near unexpected token `newline'<br>-bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" xmlns:xsl="<a href="http://www.w3.org/1999/XSL/Transform" target="_blank">http://www.w3.org/1999/XSL/Transform</a>">'<br>-bash: $'~\E[200~': command not found<br><br>
<span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> Můžete tento skript použít s jakýmkoli
nástrojem, který podporuje XSLT, například s `xsltproc` v příkazovém řádku.</span><br>
<br>
</span></div><div class="gmail_default" style="font-size:large"><span style="font-size:12pt;line-height:150%;font-family:Arial,sans-serif">Ještě se potýkám také s tím, že vyexportovaný např. kml z <a href="http://overpass-turbo.eu" target="_blank">overpass-turbo.eu</a> má v sobě celou tabulku tagů - některým ani příliš nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně </span><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:700">traffic_signals:direction </span></div><div class="gmail_default" style="font-size:large"><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:700">- jde o křižovatku, semafor a signál určující směr - možná to platí pro nějakou situaci v zahraničí,</span></div><div class="gmail_default" style="font-size:large"><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:700">ale u nás jsou přece světelné semafory do obou směrů?</span></div><div class="gmail_default" style="font-size:large"><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:700">Děkuji za pomoc. Miloš</span></div><div class="gmail_default" style="font-size:large"><span style="color:rgb(0,0,0);font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:700"><br></span></div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large"><br></div></div>
_______________________________________________<br>
talk-cz mailing list<br>
<a href="mailto:talk-cz@openstreetmap.org" target="_blank">talk-cz@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/talk-cz" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/talk-cz</a><br>
<a href="https://openstreetmap.cz/talkcz" rel="noreferrer" target="_blank">https://openstreetmap.cz/talkcz</a><br>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><a href="http://www.openstreetmap.org/user/*Martin*" target="_blank">Ing. Martin Ždila</a><div><div>OZ Freemap Slovakia</div><div><div>tel:+421-908-363-848<br>mailto:<a href="mailto:martin.zdila@freemap.sk" target="_blank">martin.zdila@freemap.sk</a><br><a href="http://www.freemap.sk" target="_blank">http://www.freemap.sk/</a></div></div></div></div></div>