memoQ and XSLT: Fun with Namespaces
Using memoQ to translate standard XLIFF (XML Localisation Interchange File Format) files can be made that bit more user friendly when you take advantage of the built-in feature to use XSLT transformations . Since I can’t get my head around namespaces, my simple transformation ended up strewn with unreadable references to local-name() nodes. As ever, there is an easier way.
Take a standard XLIFF file along the lines of:
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="Project">
<header/>
<body>
<trans-unit id="string">
<source>This is the source content.</source>
</trans-unit>
</body>
</file>
</xliff>
We can identify the nodes in the source using standard XPath syntax having defined the namespaces in the header:



