Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以使xml映射中的名称空间前缀成为动态的吗?_Xml_Dataweave - Fatal编程技术网

我们可以使xml映射中的名称空间前缀成为动态的吗?

我们可以使xml映射中的名称空间前缀成为动态的吗?,xml,dataweave,Xml,Dataweave,我有两个完全相同的xsd的一对一映射。在名称空间示例中,有时前缀为ns1,有时前缀为com。我想知道我是否可以做些什么,使它接受任何前缀。您可以通过将名称空间前缀包含在括号之间,使其成为动态的: %dw 2.0 output application/xml var z="x" --- a @((z):'123') : { b: 'b' } 输出: <?xml version='1.0' encoding='UTF-8'?> <a x="123"> <b

我有两个完全相同的xsd的一对一映射。在名称空间示例中,有时前缀为ns1,有时前缀为com。我想知道我是否可以做些什么,使它接受任何前缀。

您可以通过将名称空间前缀包含在括号之间,使其成为动态的:

%dw 2.0
output application/xml
var z="x"
---
a @((z):'123') : {
    b: 'b'
}
输出:

<?xml version='1.0' encoding='UTF-8'?>
<a x="123">
  <b>b</b>
</a>

B

尽管我不确定这样做是否是个好主意。

前缀只在XML的单个块中有意义<代码>和
是完全相同的东西。如果两者都出现在同一个XML中也不是问题。什么是“It”?你到底在干什么?通常,处理XML的软件应该接受任何前缀,它应该只关心名称空间(但“应该”并不意味着所有软件都遵循这种良好做法)