Máte tam (správně) jmenné prostory, takže je potřeba je používat i v XPath. Pozor na to, že mapování prefixů na jmenné prostory se dělá externě (není to součást XPath výrazu, ale musíte procesoru, kterým XPath zpracováváte, to mapování předat jako parametr; a nepřebírají se do XPath ani prefixy jmenných prostorů definované v dokumentu). Pak bude fungovat
//*[@id="TEXT1_ID"]/svg:tspan/text() (a musíte předat mapování
svg → http://www.w3.org/2000/svg).
Druhá možnost je porovnávat QName přímo ve výrazu, ale pak nemůžete použít zkrácený zápis:
//*[@id="TEXT1_ID"]/*[name() = 'tspan']/text(). Tím výrazem
*[name() = 'tspan'] řeknete, že hledáte všechny elementy, které splňují podmínky v hranatých závorkách, tedy že jejich plné jméno (včetně prefixu) je
tspan. Protože
tspan je v defaultním jmenném prostoru, nemá žádný prefix.
Když jste použil zkrácené porovnání na QName elementu ale bez přiřazených prefixů jmenných prostorů, hledal se element
tspan z prázdného jmenného prostoru, a takový v dokumentu není.