如何使用jsonix将自定义xsi名称空间添加到XML文件?我们希望实现以下目标:
<network xsi:schemaLocation="http://example.com/XMLSchema ../../../Example/schema/Example.xsd">
我们可以得到的最好的事情是使用名称空间前缀:
<network xmlns:schemaLocation="http://example.com/XMLSchema ../../../Example/schema/Example.xsd">
谢谢!
答案 0 :(得分:1)
免责声明:我是Jsonix的作者(嗯,你知道)。
目前,您可以使用attribute property或any attribute property来模拟xsi:schemaLocation
,例如:
{
type: 'attribute',
name: 'schemaLocation',
attributeName : { localPart: 'schemaLocation', namespaceURI : 'http://www.w3.org/2001/XMLSchema-instance' }
typeInfo: 'String'
}
基本上,就像任何其他普通属性一样。
但是,我认为xsi:schemaLocation
级别应该支持Jsonix.Context
。目前不支持此 ,但我认为这应该是这样的:
var context = new Jsonix.Context(mappings, {
schemaLocations: {
"http://example.com/XMLSchema": "../../../Example/schema/Example.xsd"
}
});
与namespacePrefixes
类似,但将名称空间URI映射到架构位置。
如果您想要使用此功能,请file an issue。