を動作させることはできません私はKMLは、国とファイルを持っていることは、すべての国を持っている 分割KMLしかしそれは
<Document>
...
<Folder>
<name>Countries</name>
<Style>
<ListStyle>
<listItemType>checkHideChildren</listItemType>
<bgColor>00ffffff</bgColor>
<maxSnippetLines>2</maxSnippetLines>
</ListStyle>
</Style>
<Folder>
<name>Labels</name>
<Placemark>
<name>Angola</name>
<styleUrl>#NoneIconStyle</styleUrl>
<Point>
<coordinates>17.5379654426636,-12.2994772211426,0</coordinates>
</Point>
</Placemark>
... ignore these
<Folder>
<name>A -</name>
<Placemark>
<name>Afghanistan</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
65.62729644775391,37.33319854736328,0 65.64692687988283,37.45888137817383,0 65.70137023925781,37.53693008422852,0 65.76608276367188,37.53416061401367,0 65.7855224609375,37.56887817382813,0 66.30274963378906,37.32360076904297,0 66.53876495361328,37.36051177978516,0 66.58690643310547,37.36803817749023,0 66.66525268554688,37.33832168579102,0 66.74442291259766,37.36137008666992,0 67.02163696289063,37.37720108032227,0 67.20025634765625,37.24665069580078,0 67.22942352294922,37.19192886352539,0 67.26637268066406,37.18526077270508,0 67.42440795898438,37.23498916625977,0 67.52163696289063,37.27248001098633,0 67.55745697021484,37.21554183959961,0 67.64940643310547,37.24608993530273,0 67.77413940429689,37.20608901977539,0 67.77715301513672,37.18579864501953,0
と国境を接します。私は各国ごとに別々のファイルを作りたいと思っています。私は最初の 'lables'フォルダを無視し、ツリー内の座標を1つ上にしてFolderを移動したいと思います。だから、Afghanistan.KMLは次のようになり
<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
<Folder>
<name>Countries</name>
<Placemark>
<name>Afghanistan</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
65.62729644775391,37.33319854736328,0 65.64692687988283,37.45888137817383,0 65.70137023925781,37.53693008422852,0 65.76608276367188,37.53416061401367,0 65.7855224609375,37.56887817382813,0 66.30274963378906,37.32360076904297,0 66.53876495361328,37.36051177978516,0 66.58690643310547,37.36803817749023,0 66.66525268554688,37.33832168579102,0 66.74442291259766,37.36137008666992,0 67.02163696289063,37.37720108032227,0 67.20025634765625,37.24665069580078,0 67.22942352294922,37.19192886352539,0 67.26637268066406,37.18526077270508,0 67.42440795898438,37.23498916625977,0 67.52163696289063,37.27248001098633,0 67.55745697021484,37.21554183959961,0 67.64940643310547,37.24608993530273,0 67.77413940429689,37.20608901977539,0 67.77715301513672,37.18579864501953,0
...etc
(<!-- !! -->
でマークされた)私のXSLTは、ほぼ
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" version="1.0" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="*[local-name()='kml']/*[local-name()='Document']"/>
</xsl:template>
<xsl:template match="*[local-name()='kml']/*[local-name()='Document']">
<Document>
<xsl:apply-templates select="*[local-name()='Folder']"/>
</Document>
</xsl:template>
<xsl:template match="*[local-name()='Folder']">
<xsl:apply-templates select="*[local-name()='Folder' or local-name()='Placemark']"/>
</xsl:template>
<xsl:template match="*[local-name()='Placemark']">
<name>{name}</name> <!-- !! -->
<xsl:result-document method="xml" href="d:\downloads\countries\{name}.xml">-->
<xsl:apply-templates select="*[local-name()='Polygon']"/>
</xsl:result-document>
</xsl:template>
<xsl:template match="*[local-name()='Polygon']">
<Polygon>
<xsl:apply-templates select="*[local-name()='outerBoundaryIs']"/>
</Polygon>
</xsl:template>
<xsl:template match="*[local-name()='outerBoundaryIs']">
<outerBoundaryIs>
<xsl:apply-templates select="*[local-name()='LinearRing']"/>
</outerBoundaryIs>
</xsl:template>
<xsl:template match="*[local-name()='LinearRing']">
<LinearRing>
</LinearRing>
<xsl:apply-templates select="*[local-name()='coordinates']"/>
</xsl:template>
<xsl:template match="*[local-name()='coordinates']">
<coordinates>
<xsl:value-of select="."/>
</coordinates>
</xsl:template>
</xsl:stylesheet>
に動作しますが、私は、プロセッサが「名前」を認識し、ファイルを切り替えることができません。
私に手伝ってくれるXSLウィザードがありますか?
ありがとうございます!
入力XMLは、表示した通りですか?あなたのスタイルシートはちょっと複雑に見えますから。 –