Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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 最小发生vs组最小发生_Xml_Validation_Xsd - Fatal编程技术网

Xml 最小发生vs组最小发生

Xml 最小发生vs组最小发生,xml,validation,xsd,Xml,Validation,Xsd,早上好 问题: 我正在尝试为输入文件创建模式。我无法获得正确的属性组合以使测试文件得到验证 输入文件: 该文件由必需的头、可选的可重复记录组和必需的尾部组成。该文件是一个员工列表,其中包含每个员工的信息。 组内的重复记录应按顺序呈现。组中的某些记录是可选的,而某些记录不是。重复组中每种类型的记录最多只能有一条 像这样: header (required) E1 (required if group is present) E2 (required if group is present) E3

早上好

问题:

我正在尝试为输入文件创建模式。我无法获得正确的属性组合以使测试文件得到验证

输入文件:

该文件由必需的头、可选的可重复记录组和必需的尾部组成。该文件是一个员工列表,其中包含每个员工的信息。 组内的重复记录应按顺序呈现。组中的某些记录是可选的,而某些记录不是。重复组中每种类型的记录最多只能有一条

像这样:

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(如果存在组,则需要)
E2(如果存在组,则需要)
E3(如果有团队,则需要)
P1(可选)
P2(可选)
P3(可选)
S1(可选)

E1模式不会验证输入文件,但仍会生成有效的输出文件。我会考虑关闭的。感谢您的帮助

我已尝试重新排列输入以获得一些线索。第二组记录不是问题所在。只有当输入没有可选的P1或P2记录时,才会失败。它在以下第一条P3记录上失败。所以我想顺序就是问题所在。如何指定带有可选记录的序列?能否发布XML而不是描述它?它非常庞大,我的雇主可能不喜欢发布它。我来看看我是否能做一个表示……序列E1,E2,E3,P1,P2,P3,S1可以验证,但是E1,E2,E3,S1不能。P1-P3标记为最小发生=“0”。