XSLT中的动态命名空间

时间:2016-06-26 12:04:29

标签: xml xslt-1.0

例如,如果我有3个不同的XML,内容几乎相同:

Fruits.xml

<?xml version="1.0" encoding="utf-8"?>
<Food xmlns="http://foodie1">
  <FoodType>Fruit</FoodType>
  <Name>Mango</Name>
</Food>

Veggies.xml

<?xml version="1.0" encoding="utf-8"?>
<Food xmlns="http://foodie2">
  <FoodType>Vegetables</FoodType>
  <Name>Eggplant</Name>
</Food>

Drinks.xml

<?xml version="1.0" encoding="utf-8"?>
<Food xmlns="http://foodie3">
  <FoodType>Drinks</FoodType>
  <Name>Iced tea</Name>
</Food>

是否有可能在XSLT中创建另一个将接受<FoodType>值的XML,然后根据该值生成特定的命名空间,如Fruits.xml中所示:xmlns="http://foodie1"

1 个答案:

答案 0 :(得分:0)

要在运行时动态设置名称空间,请使用和属性值模板。

<xsl:element name="SomeElement" namespace="{$some_ns}">
  <!-- ... -->
</xsl:element>

请参阅此链接

Xslt : Create a namespace dynamically