Hallo,
besten Dank nochmal für deine Hilfe. Jetzt klappts. Kurz noch ne Frage: Mit nem rekursiven Template würde es doch prinzipiell auch klappen, oder?
Ja, aber ohne genau Kentnisse deines XMLs und ohne den Kontext zu kennen in dem du das Template bzw. die Rekursion anwenden möchtest, konnte ich nur diese Variante ausarbeiten. (Was nebenbei nicht so schlecht ist, denn du kannst auf diese Weise andere max. und min. Nummernierungen "ausrechnen".)
OK, das stimmt.
Vom Prinzip sind meine Objekte immer so aufgebaut:
xplan:BPlanAuszug
wfs:FeatureCollection
gml:featureMember
<xplan:BaugebietsFlaechenTeil gml:id="obj_175">
xplan:position
gml:Polygon
gml:exterior
gml:LinearRing
gml:pos3480252.383 5889479.27</gml:pos>
gml:pos3480289.585 5889464.571</gml:pos>
gml:pos3480267.599 5889409.03</gml:pos>
gml:pos3480266.38776072 5889406.3197261328</gml:pos>
gml:pos3480252.383 5889479.27</gml:pos>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</xplan:position>
</xplan:BaugebietsFlaechenTeil>
</gml:featureMember>
</wfs:FeatureCollection>
</xplan:BPlanAuszug>
Die Objekte, welche dargestellt werden sollen, sind alle so aufgebaut und werden selbst innerhalb des SVG- Teils über das mode- Attribut aufgerufen:
<xsl:template match="xplan:BPlanAuszug/wfs:FeatureCollection/gml:featureMember/xplan:BaugebietsFlaechenTeil" mode="Ebene03">
Das Modeattribut regelt die Zeichenebene. Es ändert sich immer nur der letzte Teil des Pfades. Da die Objekte von der Struktur alle gleich aufgebaut sind kann ich den Pfad für die einzelnen Objekte mit
<xsl:call-template name="create_polygon">
generieren. Die Koordinaten werden innerhlab des create_polygon Templates ausgelesen, indem wieder ein call-template angewendet wird. Der Kontext für alle weiteren Verarbeitungen liegt also hier auf xplan:BaugebietsFlaechenTeil.
Anwenden möchte ich das Ganze auf Objekte (Flächen), die eine Zusatzinformation haben (in Form eines textlichen Kürzels). Dieses Kürzel wird dann in den Mittelpunkt der Fläche gesetzt.
Beste Grüße
andi
Grüße
Thomas