在 ESQL 中从 XSD 创建新对象
Create new Object from XSD in ESQL
有没有办法创建其格式在消息模型中定义的对象?
实际上,我已经创建了一个消息模型,其中一些字段包含默认值和一些限制。我使用以下代码在 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 可以吗?
Is there a way to create an object whose format is defined in a message model
您需要定义 'object' 的含义。您要基于模型创建消息树吗?还是要从模型生成有效的 BLOB?
正如其他人所说,如果要从 DFDL 模型生成 BLOB,则必须确保消息模型中的所有内容(包括复杂元素)的 minOccurs>=1,并且必须提供默认值每个领域的价值。
如果您想要一个消息树,那么您将需要使用 DFDL 解析器解析该 BLOB。这很好地引出了您其他问题的答案...
Will this be possible with ESQL?
ESQL 不提供从模型创建消息树的特殊语句。但是,它确实提供了两个函数来解析和编写任何 BLOB/message 树。查找 ASBITSTREAM 函数和 CREATE 函数(使用 PARSE 子句)。
有没有办法创建其格式在消息模型中定义的对象?
实际上,我已经创建了一个消息模型,其中一些字段包含默认值和一些限制。我使用以下代码在 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 可以吗?
Is there a way to create an object whose format is defined in a message model
您需要定义 'object' 的含义。您要基于模型创建消息树吗?还是要从模型生成有效的 BLOB?
正如其他人所说,如果要从 DFDL 模型生成 BLOB,则必须确保消息模型中的所有内容(包括复杂元素)的 minOccurs>=1,并且必须提供默认值每个领域的价值。 如果您想要一个消息树,那么您将需要使用 DFDL 解析器解析该 BLOB。这很好地引出了您其他问题的答案...
Will this be possible with ESQL?
ESQL 不提供从模型创建消息树的特殊语句。但是,它确实提供了两个函数来解析和编写任何 BLOB/message 树。查找 ASBITSTREAM 函数和 CREATE 函数(使用 PARSE 子句)。