Есть ли способ в XSL 1.0 упомянуть выражение XPath, как показано ниже, чтобы получить значение узла «а»пространства имен включены XML - прямое выражение XPath
/Root/a - doesnt work
вместо
/Root/*[local-name() = 'a'] - this will work
Это мой XML-файл
<Root xmlns:ns="http://abc">
<ns:a>value</ns:a>
</Root>
причина прошу в моей XSLT, во многих линиях, мы определили выражение XPath, как /Root/a
(или другие узлы), поскольку в XML-файле раньше не было пространств имен. Однако xml-файл теперь имеет пространства имен, мы должны меняться везде, с *[local - name()]
. Вместо этого, есть способ изменить мой xsl в одном месте, так что более ранние выражения xpath также работают, даже если пространство имен содержит xml?
Если переименовали '/ Root/a' для'/Root/b', как вы можете изменить xsl в одном месте, чтобы более ранние выражения xpath также работали? – choroba