第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射
2023-12-13 03:44:34
第二十八章 控制到 XML 模式的映射 - 流类到 XML 类型的映射
如果类或属性基于流,则它将投影为 XML
类型,如下表所示:
IRIS 流的 XML 类型
Stream Type | 映射到 XML 时使用的 XSD 类型 |
---|---|
%Library.GlobalCharacterStream , %Library.FileCharacterStream, %Stream.FileCharacter , and %Stream.GlobalCharacter | string |
%Library.GlobalBinaryStream , %Library.FileBinaryStream , %Stream.FileBinary , and %Stream.GlobalBinary | base64Binary |
例如,考虑以下类:
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 Definition | XML Is Usable? | XML Schema Is Usable? |
---|---|---|
Property PropName As List of classname or Property PropName As Array of classname | Yes | Yes |
Property PropName As %ListOfDataTypes or Property PropName As %ArrayOfDataTypes | Yes | Yes (但是集合项的默认类型是字符串,这可能不合适) |
Property PropName As %ListOfObjects or Property PropName As %ArrayOfObjects | Yes | No (架构未指定集合项的类型) |
文章来源:https://blog.csdn.net/yaoxin521123/article/details/134868859
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!