当前位置: 首页 > news >正文

第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射

文章目录

  • 第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射
  • 将集合属性映射到 `XML` 模式

第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射

如果类或属性基于流,则它将投影为 XML 类型,如下表所示:

IRIS 流的 XML 类型

Stream Type映射到 XML 时使用的 XSD 类型
%Library.GlobalCharacterStream, %Library.FileCharacterStream, %Stream.FileCharacter, and %Stream.GlobalCharacterstring
%Library.GlobalBinaryStream, %Library.FileBinaryStream, %Stream.FileBinary, and %Stream.GlobalBinarybase64Binary

例如,考虑以下类:

Class Schema.StreamPropDemo Extends (%Persistent, %XML.Adaptor)
{Parameter XMLTYPENAMESPACE="mytypes";Property BinStream As %Library.GlobalBinaryStream;Property CharStream As %Library.GlobalCharacterStream;}

该类的架构如下:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:s="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" targetNamespace="mytypes"><complexType name="StreamPropDemo"><sequence><element minOccurs="0" name="BinStream" type="s:base64Binary"/><element minOccurs="0" name="CharStream" type="s:string"/></sequence></complexType>
</schema>

将集合属性映射到 XML 模式

对于大多数类型的属性,类定义包含足够的信息来指定完整的 XML 映射 — 将对象映射为 XML 文档,并定义用于验证目的的完整 XML 模式。然而,对于集合属性, IRIS 支持某些形式的定义,这些定义不能为完整的 XML 模式提供足够的信息。如果在需要架构的上下文中(例如在 Web 服务和客户端中)使用 XML 投影,则必须拥有完整的 XML 架构;否则针对架构的验证将失败。如果不针对架构进行验证,则此注意事项不适用。下表列出了场景:

集合属性的形式及其 XML 映射详细信息

Form of Property DefinitionXML Is Usable?XML Schema Is Usable?
Property PropName As List of classname or Property PropName As Array of classnameYesYes
Property PropName As %ListOfDataTypes or Property PropName As %ArrayOfDataTypesYesYes (但是集合项的默认类型是字符串,这可能不合适)
Property PropName As %ListOfObjects or Property PropName As %ArrayOfObjectsYesNo (架构未指定集合项的类型)
http://www.lryc.cn/news/258883.html

相关文章:

  • GO EASY 游戏框架 之 GRPC 扩展篇 04
  • 【JavaScript】JavaScript中的GC算法
  • 从互联网到云计算再到 AI 原生,百度智能云数据库的演进
  • C# | CountdownEvent使用教程 (通过与ManualResetEvent对比,快速了解其特性)
  • 2、LLVM 函数名称加密 及3种PASS的实现
  • Python网络爬虫的基础理解-对应的自我理解误区
  • 基于ssm的家庭财务管理系统设计与实现论文
  • 前端知识(八)———前端需要掌握的技术有哪些方面
  • 【九】spring、springmvc、springboot、springcloud
  • Core Web Vitals 是排名因素吗?
  • “蒙企通”线上平台升级 助力内蒙古自治区民营经济发展
  • 电商早报 | 12月13日| 2023胡润男企业家榜发布:黄铮位于第三
  • Terraform实战(二)-terraform创建阿里云资源
  • ELADMIN - 免费开源 admin 后台管理系统,基于 Spring Boot 和 Vue ,包含前端和后端源码
  • Centos安装docker显示 No Package Docker-Ce Available
  • 如何使用玻璃材质制作3D钻石模型
  • 工具:Jupyter
  • 即时通讯技术文集(第27期):实时音视频技术合集(Part2) [共17篇]
  • synchronized关键字的使用和原理
  • 【PHP】php发送邮箱验证码格式美化,样式美化
  • 【EI会议征稿中】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)
  • 数据库设计规范编制文档
  • RocketMq集成SpringBoot(待完善)
  • 刚学Python有点难怎么办?这是好事啊!
  • LNMP网站架构分布式搭建部署
  • lwIP 细节之六:connected、sent、poll 回调函数是何时调用的
  • C语言搭建项目-学生管理系统(非链表)
  • 美易官方:投资美股证券投资组合的优势及快速上手指南
  • centos日常运维随记
  • 设计模式之观察者模式(主题对象发生变化,通知各个观察者)