Ваша проблема в том, что экстракт POM использует пространство имен по умолчанию . Это означает, что элементы, хотя и без префикса, находятся в «http://maven.apache.org/POM/4.0.0"», а не в «no namespace».
Однако в этом выражении XPath в коде XSLT:
document(concat($artifactCoordinate,'-pom.xml'))/project/properties
имена project
и properties
без префикса. XPath всегда обрабатывает имена без префиксов как принадлежащие «без пространства имен». Следовательно, такие элементы не найдены и ни один узел не выбран.
Решение : Добавьте определение пространства имен к вашему <xsl:stylesheet>
, скажем:
xmlns:p="http://maven.apache.org/POM/4.0.0"
Затем переписать имена элементов в любых выражениях, ссылающихся на узлы POM, с someElement
до p:someElement
. Например:
document(concat($artifactCoordinate,'-pom.xml'))/p:project/p:properties