我已经定义了一个平面文件架构,工作正常。但是,我现在对此架构有了新的要求:它必须在记录的末尾支持未来可能的附加字段。
我使用的解决方案是退出“丑陋”。我在记录的末尾添加了一个额外的填充程序,并将其配置为“minOccurs = 0”并将允许提前终止可选fileds设置为true。
这有效,但我不喜欢它。
在我看来,必须有一个属性来忽略最后一个之后的任何其他字段,所以我不需要这个填充字段。
有没有人熟悉这样的选项/属性?
谢谢大家。
答案 0 :(得分:2)
不,你所做的是处理这种情况的正确方法。美丽是旁观者的眼睛。
平面文件解析器需要在架构中定义所有可能的内容,因此它不必“猜测”下一步是什么。
答案 1 :(得分:1)
当平面文件发生更改时,架构也必须更改。这是BizTalk开发人员的工作的一部分。
您无法预期对架构内的平面文件进行更改。使用您现在拥有的填充字段,如果出现2个额外字段并且必须使用,您打算做什么?你如何获得数据,比如映射?
这是平面文件解析器的工作方式,一切都必须明确定义,如果规范发生变化,则必须更新模式。这里没有任何魔力使它完全动态。除非你是从头开始编写一个支持它的自定义平面文件反汇编程序,否则祝你好运。