Include-Entities in XML ersetzen

Gast #5453252
Lesenswert?
• ▲
▼
Hallo Freunde,

seit ein paar Tagen versuche ich Mapnik (Kartenrenderer) zum laufen zu 
bekommen. Fürs Rendern braucht Mapnik eine Style-Datei, meist osm.xml 
genannt. Gut, eine Kopie einer älteren Datei und ihrer Anhängsel von OSM 
genutzt → geht nicht :(

Warum? Weil Mapnik mit den Entities in der Datei seit einigen Versionen 
nicht mehr umgehen kann. Bei OSM machen die das jetzt irgendwie anders, 
aber das ist dermaßen schlecht oder gar nicht dokumentiert, da verliert 
man irgendwann den Überblick. Bei Mapnik das gleiche für die aktuelle 
3er-Version (wenigstens mit Hinweis...).

Das sieht so aus (und geht in der entities-Datei selbst nochmal ein paar 
Dateien weiter):
1
<!ENTITY % entities SYSTEM "inc/entities.xml.inc">
2
%entities;
3
]>

Weiter dann immer das im Code, wo der XML-Code aus den inkludierten 
Dateien hin soll:
1
&fontset-settings;

Gibt es ein Programm oder sonst was, was diese Ersetzungen einmal 
vornimmt und daraus eine neue Datei macht? PS: Linux
Gast #5453282
Lesenswert?
• ▲
▼
Irgendwas in XML zu manipulieren gibts zig tools:

BeautifulSoup (python)
lxml (python)
xmlstar(let)
html+xmltools vom w3c (sind im ubunturepo dabei, Aufruf mit hx...)
und vermutlich noch ne Tonne andere

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.