親愛なる xml-friends さん、こんにちは。
私は xml を初めて使用するので、質問に答えないでください... 私は現在、xslt プロセッサを使用していくつかのテストを行っています - 1 つのテスト データセットで適切に実行されるスクリプトを取得しました - 良好で有効な結果を返しますそして、この動作に反して、同じスクリプトを実行すると、ばかげた愚かな結果が返されます-注:タブストップのみを含む2 MBのcsv形式のファイルが返されます...面白いが本当です...
ここに私のスクリプトは次のとおりです。
次のテストデータセットでこの xslt-code を実行すると、悪い悪い結果しか得られません-タブストップのみ...それ以上はありません...このエラーの原因は何ですか。注-2番目のデータセットに対してコードを実行すると、より良い結果が得られます.-以下を参照してください...そして、この最初の投稿の最後に結果を参照してください....
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8" />
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="osm">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="node[tag[@k='amenity' and @v='restaurant']]">
<xsl:value-of select="./@id"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./@lat"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./@lon"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'cuisine']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'name']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'wheelchair']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'website']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'addr:country']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'addr:city']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'addr:street']/@v"/>
<xsl:text>	</xsl:text>
<xsl:value-of select="./tag[@k = 'addr:housenumber']/@v"/>
<xsl:text>
</xsl:text>
</xsl:template>
<!-- all non-restaurant nodes -->
<xsl:template match="node[tag[@k='amenity' and @v!='restaurant']]" />
</xsl:stylesheet>
このテストデータセットに対してこれを実行すると、タブストップのみを含むファイルのダム結果のみが得られます。接着剤がありません。エラーの原因は何ですか?
<node id="25242198" lat="49.0077605" lon="8.3560676" version="9" changeset="10151199" user="keinname" uid="165061" timestamp="2011-12-18T22:59:43Z">
<tag k="addr:city" v="Karlsruhe" />
<tag k="addr:country" v="DE" />
<tag k="addr:housenumber" v="6" />
<tag k="addr:postcode" v="76185" />
<tag k="addr:street" v="Durmersheimer Straße" />
<tag k="amenity" v="restaurant" />
<tag k="beer_garden" v="yes" />
<tag k="cuisine" v="german" />
<tag k="name" v="Beim Schupi" />
<tag k="opening_hours" v="Mo-Sa 17:00+; Su 12:00+" />
<tag k="phone" v="+49 721 551220" />
<tag k="website" v="http://www.schupi.de" />
</node>
[...]...
注:ばかげた悪い結果が返されます-タブストップのみで、それ以上のものはありません..
しかし、上記の xslt-processor-code を次の xml-dataset で実行すると、良い結果が得られます...以下を参照してください-!!!
<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="Osmosis SNAPSHOT-r26564">
<node id="185612117" version="5" timestamp="2011-01-08T19:23:43Z" uid="290680" user="wheelmap_visitor" changeset="6906586" lat="48.8037523" lon="9.5248779">
<tag k="addr:postcode" v="73614"/>
<tag k="wheelchair" v="yes"/>
<tag k="website" v="http://www.courage-restaurant.de/"/>
<tag k="addr:country" v="DE"/>
<tag k="name" v="Courage"/>
<tag k="amenity" v="restaurant"/>
<tag k="addr:street" v="Künkelinstraße"/>
<tag k="addr:city" v="Schorndorf"/>
<tag k="addr:housenumber" v="33"/>
</node>
<node id="252619189" version="5" timestamp="2011-01-08T19:21:43Z" uid="290680" user="wheelmap_visitor" changeset="6906586" lat="48.8067032" lon="9.5314986">
<tag k="addr:postcode" v="73614"/>
<tag k="wheelchair" v="yes"/>
<tag k="website" v="www.kesselhaus-schorndorf.de"/>
<tag k="addr:country" v="DE"/>
<tag k="name" v="Kesselhaus"/>
<tag k="amenity" v="restaurant"/>
<tag k="addr:street" v="Arnoldstraße"/>
<tag k="addr:city" v="Schorndorf"/>
<tag k="addr:housenumber" v="3"/>
</node>
<node id="319597380" version="1" timestamp="2008-12-17T21:13:15Z" changeset="444629" lat="48.8277913" lon="9.5477029">
<tag k="name" v="Gasthaus zur Linde"/>
<tag k="amenity" v="restaurant"/>
</node>
<node id="319597382" version="1" timestamp="2008-12-17T21:13:15Z" changeset="444629" lat="48.8282523" lon="9.5503109">
<tag k="name" v="China-Garden"/>
<tag k="amenity" v="restaurant"/>
</node>
<node id="339591124" version="2" timestamp="2011-09-22T17:33:36Z" uid="290680" user="wheelmap_visitor" changeset="9366746" lat="48.7888015" lon="9.5079525">
<tag k="cuisine" v="italian"/>
<tag k="wheelchair" v="limited"/>
<tag k="name" v="Pizzeria da Rocco"/>
<tag k="amenity" v="restaurant"/>
</node>
<node id="392682646" version="3" timestamp="2010-05-11T19:00:20Z" uid="12973" user="MattGPS" changeset="4671372" lat="48.8315734" lon="9.5468864">
<tag k="name" v="Gasthaus an der Wieslauf"/>
<tag k="amenity" v="restaurant"/>
</node>
<node id="454516720" version="4" timestamp="2010-12-11T15:30:21Z" uid="12982" user="Michael Schulze" changeset="6625571" lat="48.8031264" lon="9.5344371">
<tag k="addr:postcode" v="73614"/>
<tag k="cuisine" v="regional"/>
<tag k="website" v="http://www.deutscheshaus-schorndorf.de/"/>
<tag k="addr:country" v="DE"/>
<tag k="name" v="Deutsches Haus"/>
<tag k="amenity" v="restaurant"/>
<tag k="addr:street" v="Sonnenscheinstraße"/>
<tag k="addr:city" v="Schorndorf"/>
<tag k="addr:housenumber" v="13"/>
</node>
<node id="572362430" version="3" timestamp="2010-07-04T06:59:50Z" uid="106522" user="neuntoeter" changeset="5130101" lat="48.807953" lon="9.5379673">
<tag k="smoking" v="no"/>
<tag k="name" v="Club Kneipe"/>
<tag k="amenity" v="restaurant"/>
</node>
<node id="613988559" version="1" timestamp="2010-01-15T01:20:03Z" uid="24748" user="mabapla" changeset="3621550" lat="48.7991827" lon="9.551828">
<tag k="name" v="Gaststätte Schützenhaus"/>
<tag k="amenity" v="restaurant"/>
</node>
<node id="859532091" version="1" timestamp="2010-08-13T23:05:14Z" uid="130472" user="fx99" changeset="5486736" lat="48.8062337" lon="9.5278548">
<tag k="website" v="http://www.weinstube-buechsenmacher.de/"/>
<tag k="name" v="Weinstube zum Büchsenmacher"/>
<tag k="amenity" v="restaurant"/>
<tag k="addr:housename" v="5"/>
<tag k="addr:street" v="Höllgasse"/>
</node>
<node id="1625565012" version="1" timestamp="2012-02-09T18:00:04Z" uid="131968" user="changchun_1" changeset="10636279" lat="48.8151893" lon="9.5310692">
<tag k="name" v="Gasthaus Sonne"/>
<tag k="amenity" v="restaurant"/>
</node>
</osm>
-かなり良いを参照してください!! - 2 番目のデータセットで xslt-processor を実行したときに得られる結果: 接着剤がありません。なぜこのような厄介な結果が得られるのか - 最初のデータセットで xslt-processor を適用すると...!?
185612117 48.8037523 9.5248779 Courage yes http://www.courage-restaurant.de/ DE Schorndorf Künkelinstraße 33
252619189 48.8067032 9.5314986 Kesselhaus yes www.kesselhaus-schorndorf.de DE Schorndorf Arnoldstraße 3
319597380 48.8277913 9.5477029 Gasthaus zur Linde
319597382 48.8282523 9.5503109 China-Garden
339591124 48.7888015 9.5079525 italian Pizzeria da Rocco limited
392682646 48.8315734 9.5468864 Gasthaus an der Wieslauf
454516720 48.8031264 9.5344371 regional Deutsches Haus http://www.deutscheshaus-schorndorf.de/ DE Schorndorf Sonnenscheinstraße 13
解決策へのアイデアとポインタは大歓迎です... thx事前に!!