我正在使用Visual Studio's "Generate Sample XML"来实现这种转变:
XSD - > (示例)XML
我知道它被称为"样品"。我很感激"样品"没有意义的价值观;只是一个满足XSD约束的值
xsd:integer
数据类型约束,1..*
和0..*
序列/ minOccurs / maxoccurs约束但是,当我点击&#34;生成示例XML&#34;时,生成的XML不包含XSD中定义的所有元素的(至少一个)标记。 < / p>
具体来说,这是我的情况:
<xsd:sequence>
,允许使用一系列0..*
和1..*
元素。<xsd: sequence>
允许这些元素中的120个;每个都是独一无二的。<xsd: sequence>
元素的示例XML可能是270 * 120 = 32,400行生成的XML。 我发现,Generate Sample XML将不生成超过6,000行XML的文档。
这意味着它不能产生彻底的&#34; XML;它将输出样本XML限制为仅前30个标记(按照它们在XSD中列为 <xsd: sequence>
的子项的顺序**(见下文) - 甚至如果这意味着生成的XML无效[因为它可以省略必需的元素] );
XSD中定义的剩余120-30 = 90 元素从输出示例XML中排除。
任何人都可以解释原因吗?是用户错误吗?有解决方法吗?如果已经描述了here,则无需推荐其他工具。
如果这个问题更合适,我可以将此问题移交给超级用户。
**我认为元素作为<xsd:sequence>
的子元素被引用的顺序很重要;当我重新排列这个顺序时(例如,让孩子51-53成为第一个孩子; 1-3;然后这些元素包含在~6,000行输出中,但是他们移位的其他元素被排除在外)