Was sind XPaths?
XPath steht für „XML Path Language“. Es ist eine Abfragesprache, mit der man bestimmte Elemente, Attribute oder Textinhalte z.B. innerhalb eines XML-Dokuments auswählen, filtern und analysieren kann.
So kann man mit der unten links stehenden XPath-Ausdruck im unten rechts stehenden .xml-Block gezielt das <b>-Element innerhalb von <text> ansprechen.
XPath-Regel /root/segment/text/b | .xml-Code <root> <segment> <text>Hello <b>world</b>!</text> </segment> </root> |
Anwendung in translate5
In translate5 können XPath-Ausdrücke verwendet werden, um Platzhalter (Placeables) zu erkennen, die nicht verändert werden dürfen.
Platzhalter (Placeables) mit XPath-Ausdrücke identifizieren
Placeables sind üblicherweise durch interne Tags markiert, sodass sie von translate5 beim Import im ungeschützten Inhalt eines internen Tags erkannt werden können. Die XPath-Ausdrücke werden relativ zum Inhalt des Tags als Wurzel (nicht relativ zum Dokument) betrachtet.
Wen ein internes Tag als Platzalter identifiziert wird, erhält es ein zusätzliches „class“-Attribut mit der Bezeichnung „t5placeable“ und der referenzierte Inhalt wird in einem data-property gespeichert: data-t5content="something".
Im Editor werden die Platzhalter-Stellen dann als geschützte Tags dargestellt. Allerdings so, dass der Übersetzer mit der Tag-Vollansicht den Inhalt, also den Text des Platzhalters anzeigen lassen kann.
Für dieses Beispiel wurde folgende Datei verwendet: placeable_example.xml
[ „//div[contains(@id, 'foo')]/a/@title“, ... ]