Ниже приведен пример XML-файла, из которого я пытаюсь извлечь контент:
<CPM
xmlns:nc="http://STUFF1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jx="http://STUFF3"
xmlns:np="http://STUFF4"
xmlns:cj="http://STUFF5"
xsi:schemaLocation="http://STUFF6 STUFF7_STUFF8.xsd"
version="1.0"
key="KEYHERE"
xmlns="http://www.STUFF9.com">
<Header>
<Init>1234</Init>
<Dest>MARS</Dest>
<Control>12345xxx</Control>
</Header>
<Body>
<PM>
<nc:Msg>
<np:EDSection>
<np:EPO>
<jx:ActivityDate>20180101</jx:ActivityDate>
Я пытаюсь извлечь переменные, используя XPATH, например:
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns0="pri:vate"
xmlns:nc="http://STUFF1"
xmlns:np="http://STUFF4"
xmlns:jx="http://STUFF3"
xmlns:ea="http://OTHERSTUFF"
xpath-default-namespace="http://www.STUFF9.com">
<xsl:variable name="MYDATE" select="/CPM/Body[1]/PM[1]/nc:Msg[1]/np:EDSection[1]/np:EPO[1]/jx:ActivityDate[1]"/>
Проблема в том, что у меня есть Java-компонент, которому не нравится "xpath-default-namespace"
, и я предпочел бы изменить xslt, чем изменить Java-компонент.Есть ли другой способ разрешить xpath из исходного xml, который определяет xmlns с URL-адресом в корневом элементе, как этот?