Вы, XML, видите это ...
<SBEGestionZonesAeriennesSYSCA xmlns=""
Это означает, что SBEGestionZonesAeriennesSYSCA
не имеет пространства имен. В настоящее время он не находится в SBEGestionZonesAeriennesSYSCA
. xmlns=""
переопределяет объявление по умолчанию для родительского элемента.
Это не случай удаления xmlns=""
, поскольку xmlns
не является нормальным атрибутом, а объявлением пространства имен. То, что вы на самом деле хотите переместить SBEGestionZonesAeriennesSYSCA
из не в пространстве имен, в другое пространство имен.
Вы можете сделать это просто, выполнив это ...
<xsl:element name="{local-name(.)}" namespace="urn:SBEGestionZonesAeriennesSYSCA-schema">
EDIT: если пространство имен по умолчанию неизвестно, вы можете просто попробовать получить пространство имен по умолчанию из родительского элемента
<xsl:element name="{local-name(.)}" namespace="{parent::*/namespace::*[name() = '']}">
Однако это не даст правильного результата, если у вас есть дочерние элементы в SBEGestionZonesAeriennesSYSCA
, например, что также необходимо было перемещать. В этом случае попробуйте это, которое ищет первого предка, у которого есть пространство имен по умолчанию, которое не пусто:
<xsl:element name="{local-name(.)}" namespace="{ancestor::*[namespace::*[name() = '' and . != '']][1]/namespace::*[name() = '']}">
Ну, просто, чтобы закрыть это: моя проблема возникла из-за запуска nuxt в качестве приложения узла, которое не понимает операторы импорта ES6, которые появились в моей конфигурации nuxt.
Поэтому мне пришлось переписать вещи, чтобы работать с commons.js (require).
Это работает на данный момент. (Я также пытался запустить babel-node
при запуске server.js, но безуспешно. Это не значит, что это не сработало, я просто не хотел стараться изо всех сил).
Спасибо за комментарии. веселит