2012-06-11 6 views
0

Есть ли способ определить (пространство имен с префиксом) в дочернем узле xml с помощью xslt. так что мое пространство имен также относится к его десятичным словам, у меня естьопределить пространство имен с префиксом в дочерних узлах в xslt

<xsl:element name="abc" namespace="{$prmPafNamespace}"> 

но он создает пространство имен по умолчанию.

, когда я использую его, как показано ниже

<xsl:element name="paf:abc" namespace="{$prmPafNamespace}"> 
    <xsl:element name="paf:child_abc"/> 
</xsl:element> 

то это дает ошибку, что «СУП» не определено, как решить эту проблему ...

ответ

1

Вам необходимо определить пространство имен для каждого элемента, например.

<xsl:element name="paf:abc" namespace="{$prmPafNamespace}"> 
    <xsl:element name="paf:child_abc" namespace="{$prmPafNamespace}"/> 
</xsl:element> 
+0

спасибо Мартина работает, но есть какая-то альтернатива, потому что я очень долго XML и использовать те же пространство имен для каждого дочернего узла выглядит странно ... – Hussey

+0

Мне неизвестна какая-либо более короткая альтернатива, если вы хотите, чтобы пространство имен было динамическим, тогда вы должны указать его для каждого создаваемого вами элемента динамически. –

0

Вы можете попробовать добавить в xmlns:paf="{$prmPafNamespace}" атрибут вашего document/element, но я не уверен, будет ли он работать с URI динамического пространства имен.

+0

Я уже использую его, он не будет работать для динамического Uri – Hussey

Смежные вопросы