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.


/root/segment/text/b
<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“,
    ...
]