1
我使用xsl將xml轉換爲kml格式。我想向xsl添加條件邏輯來根據屬性值的一部分切換styleUrl。屬性名稱是FROM_SYSTEM_ID
。屬性值的格式是「A-123-CAM-1」,其中「CAM」是字符串的一部分,用於確定要使用哪種樣式定義(在這種情況下,CAM代表相機,CAB代表櫥櫃等)。XSL條件格式
如何解析此屬性以執行所需的樣式定義切換?
以下是我的XSL模板:
<xsl:template match="Line">
<Folder>
<name>
Lines
<!--<xsl:value-of select="@name"/>-->
</name>
<xsl:for-each select="Row">
<Placemark>
<name>
<xsl:value-of select="@FROM_SYSTEM_ID"/>
</name>
<description>
<xsl:value-of select="@TO_SYSTEM_ID"/>
</description>
<styleUrl>#msn_open-diamond00</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
<xsl:value-of select="@FromLong"/>,<xsl:value-of select="@FromLat"/>,0 <xsl:value-of select="@ToLong"/>,<xsl:value-of select="@ToLat"/>,0
</coordinates>
</LineString>
</Placemark>
</xsl:for-each>
</Folder>
</xsl:template>
以下是XML的一個樣本:
<Line>
<Row PrimaryRoute="A-123" FROM_SYSTEM_ID="A-123-CAB-1"
TO_SYSTEM_ID="A-123-CAM-3" FromLat="42.624948852000"
FromLong="-83.107221652500"
ToLat="42.624940325900" ToLong="-83.107353167000" />
<Row PrimaryRoute="A-123" FROM_SYSTEM_ID="A-123-CAM-1"
TO_SYSTEM_ID="A-123-HH-16" FromLat="42.641662528600"
FromLong="-83.151500129600"
ToLat="42.641709802200" ToLong="-83.151552587600" />
<!-- additional rows here -->
</Line>
+1正確的。如果模式字符串是固定的,或者只是'substring()'。 – 2011-04-05 17:25:37
感謝@lwburk,這很好。爲了引用我的樣式定義' ' –
Arkady
2011-04-05 20:46:24