首先,如果我使用错误的词汇,请告诉我,因为我对COBOL不太熟悉。 我们正在尝试从COBOL中的固定数据结构生成xml文档。 这很好用,使用GENERATE语句,但我们有一个问题。
如果数据如下:
First;Second;Age;Optional
JOHN;SNOW;18;Something
JOHN;DOE;45;Nothing
JOHN;ISSUE;30;
然后生成的xml如下所示:
<Persons>
<Person First="JOHN" Second="SNOW" Age="18" Optional="Something"/>
<Person First="JOHN" Second="DOE" Age="45" Optional="Nothing"/>
<Person First="JOHN" Second="ISSUE" Age="18" Optional=""/>
</Persons>
当我们希望生成器在具有空值时不创建属性时:
<Persons>
<Person First="JOHN" Second="SNOW" Age="18" Optional="Something"/>
<Person First="JOHN" Second="DOE" Age="45" Optional="Nothing"/>
<Person First="JOHN" Second="ISSUE" Age="18" />
</Persons>
有没有一种简单的方法可以实现这一目标?一直在寻找IBM文档和谷歌,没有运气。
答案 0 :(得分:1)
我们已成功使用OCCURS 0 to 1 DEPENDING var作为可选项。我们将var设置为0或1,具体取决于指示对象是否存在。
这是一个kludge。有一个现存的SHARE requirement可以使kludge不必要;我希望功能在v.Next COBOL编译器中。
答案 1 :(得分:0)
在我看来,更简单的方法是使用XML PARSE动词为您的架构编写漂亮的打印机自定义。做GENERATE,然后通过漂亮的打印机提供它,以应用您的特定规则来产生最终输出。