Arbeiten mit XML-Namespaces

Der XML-Parser von SDL Passolo basiert auf MSXML. Dieser Parser setzt voraus, dass die zu verwendenden Namespaces festgelegt werden.

Nur so können Attribute in Dokumenten mit Namespaces über XPath-Ausdrücke referenziert werden. Die Deklaration der Namespaces erfolgt automatisch durch Passolo, wobei die Namespaces im Stammelement angegeben werden müssen. Die Festlegung der Namespaces wird von SDL Passolo automatisch übernommen, wobei die (und nur die) Namespaces verwendet werden, die im Stammelement deklariert sind.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib"> <system:String x:Key="3B1878104CA04553BA4469269337C4DC">File</system:String> <system:String x:Key="66AFC8172E354e4cAD886DB2E2CC981C">Open</system:String> <system:String x:Key="5604CB812A174d2f926B7748B7171C6C">Save</system:String> <system:String x:Key="068738D4008F449d86B45238D4D0044F">Save As</system:String> <system:String x:Key="F52DC21A5C3C45499C6FC623835BCFF9">Quit</system:String> <system:String x:Key="2AC52DE4D2B74f84AB8D17EAA7E1B738">Edit</system:String> <system:String x:Key="DAE9050AAB9B436eBED0A5191BAFC917">Find</system:String> <system:String x:Key="CECCF72250C444b5B28478410267982E">Replace</system:String> <system:String x:Key="736EC0206F574b6cB47994DBAAA86160">Copy</system:String> <system:String x:Key="6E4262F3873E48FB8B48C866CFD35F4C">Cut</system:String> <system:String x:Key="373FC6B7F4DD4A12A4D63081859B2867">Paste</system:String> </ResourceDictionary>

Im obigen Beispiel gibt es die drei Namespaces http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/winfx/2006/xaml und clr-namespace:System;assembly=mscorlib. Die letzten beiden Namespaces haben die Kennungen x und system. Der erste Namespace hat keine Kennung und ist der sogenannte Standard-Namespace.

Bei XPath-Ausdrücken sollten die Namespace-Prefixe verwendet werden. In der Liste der Attribute z. B. für die ID eines Elements wird auch der qualifizierte Name x:Key (und nicht nur Key) angezeigt. Elemente und Attribute, die kein Namespace-Präfix haben, werden automatisch vom Standard-Namespace abgeleitet. Allerdings muss in den Einstellungen auch für diese Elemente und Attribute ein Namespace-Präfix angegeben werden.

PassoloFür den Standard-Namespace verwendet Passolo das Präfix „pdns“. Für eine XLIFF-Datei ohne Angaben des XLIFF-Namespace würde ein XPATH-Ausdruck wie folgt aussehen:

./child::note

Enthält die Datei den XLIFF-Namespace als Standard-Namespace, muss der XPATH-Ausdruck wie folgt lauten:

../child::pdns:note