早上好,
问题:
我正在尝试为输入文件创建架构。我无法获得正确的属性组合以使我的测试文件得到验证。
输入文件:
该文件包含必需的标题,可选的可重复记录组和必需的预告片。该文件是员工列表,其中包含每个员工的信息。 组内的重复记录应按顺序显示。组中的某些记录是可选的,有些则不是。重复组中最多应该有一种记录类型。
像这样:header (required)
E1 (required if group is present)
E2 (required if group is present)
E3 (required if group is present)
P1 (optional)
P2 (optional)
P3 (optional)
S1 (optional)
E1 <--- error is here
E2
E3
Trailer (required)
小组,E1到P3,应该是有序的,可以重复。
我尝试了什么:
我创建了一个&lt; sequence&gt;并在其中放置E1至P3。 我设置min发生= 0,最大值发生=序列上的无界限。
我在所需记录E1,E2,E3上设置min occurrence = 1,最大值= 1。 我在可选记录P1,P2,P3上设置min occurrence = 0,最大值= 1。
问题:
组的第二次出现总是导致实例验证失败(Visual Studio 2010)。错误消息没有帮助:“发现意外数据”
我不清楚每条记录上“发生最小”和“发生组合”之间的区别。 “min发生”是序列内还是全局的? 如果我在E1记录上设置max occurrence = 1,我是每个文件一个还是每个序列一个? 关于MSDN的解释很清楚。
我尝试将值放在“group *”属性中但仍然没有乐趣。
我哪里出错了?
感谢。
修改
架构图片:
DPIC是标题,Z1是预告片。添加S1记录似乎导致失败。 我查看了P3和S1的定义,看起来是正确的。这是一个平面文件 从MSVC 2010向导生成的模式。
答案 0 :(得分:0)
架构不验证输入文件,但仍生成有效的输出文件。我打算把它关闭。谢谢你的帮助