第二十七章 控制到 XML 模式的映射 - 影响架构的编译器关键字

文章目录

第二十七章 控制到 XML 模式的映射 - 影响架构的编译器关键字

VALUELLIST

向类型添加 <enumeration> 限制。考虑下面的类:

java 复制代码
Class Schema.VALUELIST Extends (%RegisteredObject, %XML.Adaptor)
{

Parameter XMLTYPENAMESPACE = "mytypes";

Property Property1 As %String;

Property Property2 As %String (VALUELIST = ",r,g,b");

}

下面显示了该类的架构:

xml 复制代码
<?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="VALUELIST">
    <sequence>
      <element minOccurs="0" name="Property1" type="s:string"/>
      <element minOccurs="0" name="Property2">
        <simpleType>
          <restriction base="s:string">
            <enumeration value="r"/>
            <enumeration value="g"/>
            <enumeration value="b"/>
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>
</schema>
XMLFractionDigits

适用于 %Numeric。此参数对应于 <fractionDigits> 构面,如以下片段所示:

xml 复制代码
<element minOccurs="0" name="Property2">
  <simpleType>
    <restriction base="s:decimal">
      <fractionDigits value="2"/>
      <totalDigits value="5"/>
    </restriction>
  </simpleType>
</element>
XMLTotalDigits

适用于 %Numeric 属性或 %Integer 属性。此参数对应于 <totalDigits> 方面,如以下片段所示:

xml 复制代码
<element minOccurs="0" name="Property2">
  <simpleType>
    <restriction base="s:decimal">
      <fractionDigits value="2"/>
      <totalDigits value="5"/>
    </restriction>
  </simpleType>
</element>
XMLLISTPARAMETER

适用于指定 VALUELIST 参数的属性中的 %String。指定包含要投影到 XML 的值列表的参数名称,而不是对象中包含的值。在大多数情况下,还指定标准 DISPLAYLIST 参数,并将 XMLLISTPARAMETER 设置为等于"DISPLAYLIST"。

XMLLISTPARAMETER 参数控制 <enumeration> 限制中使用的值属性。

不能将其指定为属性参数。

XMLPATTERN

控制模式限制。考虑下面的类:

java 复制代码
Class Schema.Pattern Extends (%RegisteredObject, %XML.Adaptor)
{

Parameter XMLTYPENAMESPACE = "mytypes";

Property Property1 As %String;

Property Property2 As %String(XMLPATTERN = "[A-Z]");

}

该类的架构如下:

xml 复制代码
<?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="Pattern">
    <sequence>
      <element minOccurs="0" name="Property1" type="s:string"/>
      <element minOccurs="0" name="Property2">
        <simpleType>
          <restriction base="s:string">
            <pattern value="[A-Z]"/>
          </restriction>
        </simpleType>
      </element>
    </sequence>
  </complexType>
</schema>

如果简单类型中出现多个模式,则根据 https://www.w3.org/TR/xmlschema-2 组合模式(请参阅第 4.3.4.3 节,模式的 XML 表示形式的约束) 。这些模式在 XMLPATTERN 参数中组合为同一模式中的单独分支(由竖线分隔)。

XSDTYPE

声明映射到 XML 时使用的 XSD 类型。该参数在所有 IRIS 数据类型类中进行了适当设置。 IRIS XML 工具在生成模式时使用此参数。该参数不直接影响输入和输出转换,尽管它应该与它们一致。

相关推荐
晚霞的不甘7 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位26 分钟前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华229 分钟前
mysql索引
数据库·mysql
2601_949593651 小时前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__1 小时前
mysql新老项目版本选择
数据库·mysql
Dxy12393102162 小时前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light2 小时前
MySQL相关问题
数据库·mysql
蜡笔小炘2 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长2 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚3 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构