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

本文主要是介绍第二十六章 控制到 XML 模式的映射 - 影响架构的编译器关键字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第二十六章 控制到 XML 模式的映射 - 影响架构的编译器关键字
  • 影响架构的编译器关键字
    • 影响 `XML` 模式的参数
        • `CONTENT`
        • `DISPLAYLIST`
        • `MAXLEN`
        • `MAXVAL`
        • `MINLEN`
        • `MINVAL`

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

影响架构的编译器关键字

required 关键字通过删除 minOccurs="0" 属性来影响 XML 架构。例如,考虑以下类:

Class Schema.PropKeywords Extends (%RegisteredObject, %XML.Adaptor)
{Parameter XMLTYPENAMESPACE="mytypes";Property Property1 As %String;Property Property2 As %String [ Required ];}

如果我们为此处使用的命名空间生成架构,我们会看到以下内容:

<?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="test"><complexType name="PropKeywords"><sequence><element minOccurs="0" name="Property1" type="s:string"/><element name="Property2" type="s:string"/></sequence></complexType>
</schema>

请注意,minOccurs 的默认值为 1;也就是说,Property2 是必需的。

注意:出于兼容性原因,%XML.Reader 默认情况下不检查必需的属性,但可以使其这样做;请参阅使用 XML 工具中的检查所需元素和属性。另外,默认情况下, IRIS Web 服务不会检查所需的属性,但可以使其这样做;请参阅检查必需的元素和属性。

没有其他属性关键字影响数据类型类的架构。

影响 XML 模式的参数

IRIS 数据类型类使用许多参数。 (有关列出每个数据类型类支持的参数的表,请参阅定义和使用类中的数据类型。)在大多数情况下,还可以将它们指定为属性参数。

影响 XML 模式的参数如下:

CONTENT

影响属性值的转义方式;请参阅处理特殊 XML 字符。

与其他可能的值相比,“MIXED”值会导致架构发生变化。考虑下面的类:

Class Schema.CONTENT Extends (%RegisteredObject, %XML.Adaptor)
{Parameter XMLTYPENAMESPACE = "mytypes";Property Property1 As %String;Property Property2 As %String(CONTENT = "STRING");Property Property3 As %String(CONTENT = "ESCAPE");Property Property4 As %String(CONTENT = "MIXED");}

如果我们为此处使用的命名空间生成架构,我们会看到以下内容:

<?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="CONTENT"><sequence><element minOccurs="0" name="Property1" type="s:string"/><element minOccurs="0" name="Property2" type="s:string"/><element minOccurs="0" name="Property3" type="s:string"/><element name="Property4"><complexType mixed="true"><choice maxOccurs="unbounded" minOccurs="0"><any processContents="lax"/></choice></complexType></element></sequence></complexType>
</schema>

请注意,这三个属性具有相同的类型信息,因为 XML 以相同的方式处理它们。然而, IRIS 对属性的处理方式有所不同,如处理特殊 XML 字符中所述。

如果使用该对象作为 Web 方法的输入或输出,并且 SoapBodyUse 已针对该方法进行编码,则 IRIS 会将混合内容视为默认的字符串内容。也就是说,如果将 CONTENT 指定为“MIXED”,则该值将被忽略。

DISPLAYLIST

如果还指定了 VALUELIST 并且 XMLLISTPARAMETER 等于“DISPLAYLIST”,则会影响架构。请参阅这两个参数的讨论。

MAXLEN

控制 maxLength 属性,它是一个方面或限制。 Facet 定义 XML 类型可接受的值。以下示例显示了其中的几个。考虑下面的类:

Class Schema.BasicFacets Extends (%RegisteredObject, %XML.Adaptor)
{Parameter XMLTYPENAMESPACE = "mytypes";Property Property1 As %Integer (MINVAL=10, MAXVAL=1000);Property Property2 As %String (MINLEN=20, MAXLEN=100);}

如果我们为此处使用的命名空间生成架构,我们会看到以下内容:

<?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="BasicFacets"><sequence><element minOccurs="0" name="Property1"><simpleType><restriction base="s:long"><maxInclusive value="1000"/><minInclusive value="10"/></restriction></simpleType></element><element minOccurs="0" name="Property2"><simpleType><restriction base="s:string"><maxLength value="100"/><minLength value="20"/></restriction></simpleType></element></sequence></complexType>
</schema>

SOAP 向导或 XML 架构向导在架构中发现 maxLength 限制时,它会在生成的类中根据需要设置 MAXLEN 属性参数。

MAXVAL

控制 maxInclusive 属性。请参阅 MAXLEN 中的示例。

MINLEN

控制 minLength 属性。请参阅 MAXLEN 中的示例。

当 SOAP 向导或 XML 架构向导在架构中发现 minLength 限制时,它会在生成的类中根据需要设置 MINLEN 属性参数。

MINVAL

控制 minInclusive 属性。请参阅 MAXLEN 中的示例。

这篇关于第二十六章 控制到 XML 模式的映射 - 影响架构的编译器关键字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/461203

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素