首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ESQL中从XSD创建新对象

在ESQL中从XSD创建新对象
EN

Stack Overflow用户
提问于 2021-01-11 23:00:08
回答 1查看 77关注 0票数 0

有没有办法创建一个在消息模型中定义了格式的对象?

实际上,我已经创建了一个消息模型,其中的一些字段包含默认值和一些限制。我使用以下代码在ESQL中创建了一条消息,但其他字段(包含默认值)没有出现:

代码语言:javascript
复制
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可以做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2021-01-13 21:56:29

有没有一种方法可以创建一个在消息模型

中定义格式的对象

你需要定义你所说的“对象”是什么意思。是否要基于模型创建消息树?或者,您是否希望从模型生成有效的BLOB?

正如其他人所说,如果希望从DFDL模型生成BLOB,则必须确保消息模型中的所有内容(包括复杂元素)都具有minOccurs>=1,并且必须为每个字段提供默认值。如果需要消息树,则需要使用DFDL解析器解析BLOB。这很好地引出了你另一个问题的答案。

使用ESQL可以做到这一点吗?

ESQL不提供从模型创建消息树的特殊语句。但是,它确实提供了两个函数来解析和编写任何BLOB/消息树。查找ASBITSTREAM函数和CREATE函数(带有PARSE子句)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65669257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档