有没有办法创建一个在消息模型中定义了格式的对象?
实际上,我已经创建了一个消息模型,其中的一些字段包含默认值和一些限制。我使用以下代码在ESQL中创建了一条消息,但其他字段(包含默认值)没有出现:
CREATE LASTCHILD OF OutputRoot DOMAIN('DFDL');
-- SET OutputRoot.Properties = InputRoot.Properties;
SET OutputRoot.Properties.MessageSet = '{ObjectsDefinitionLibrary}';
SET OutputRoot.Properties.MessageType = '{}:Example1MsgModel';
SET OutputRoot.DFDL.Example1MsgModel.record[1].FieldOne = 'Value1';使用ESQL可以做到这一点吗?
发布于 2021-01-13 21:56:29
有没有一种方法可以创建一个在消息模型
中定义格式的对象
你需要定义你所说的“对象”是什么意思。是否要基于模型创建消息树?或者,您是否希望从模型生成有效的BLOB?
正如其他人所说,如果希望从DFDL模型生成BLOB,则必须确保消息模型中的所有内容(包括复杂元素)都具有minOccurs>=1,并且必须为每个字段提供默认值。如果需要消息树,则需要使用DFDL解析器解析BLOB。这很好地引出了你另一个问题的答案。
使用ESQL可以做到这一点吗?
ESQL不提供从模型创建消息树的特殊语句。但是,它确实提供了两个函数来解析和编写任何BLOB/消息树。查找ASBITSTREAM函数和CREATE函数(带有PARSE子句)。
https://stackoverflow.com/questions/65669257
复制相似问题