文章
姚 鑫 · 六月 17, 2021 阅读大约需 5 分钟
第十章 XML元素和属性

第十章 XML元素和属性

检查必需的元素和属性

默认情况下,next()方法不检查是否存在与标记为必需的属性相对应的元素和属性。要使读取器检查此类元素和属性是否存在,请在调用Next()之前将读取器的CheckRequired属性设置为1。出于兼容性原因,此属性的默认值为0。

如果将CheckRequired设置为1,并且调用next(),而导入的XML缺少必需的元素或属性,则next()方法会将sc参数设置为错误代码。例如:

0 0
0 21
文章
姚 鑫 · 六月 16, 2021 阅读大约需 7 分钟
第九章 将XML导入到对象中

第九章 将XML导入到对象中

本章介绍如何使用%XML.Reader将XML文档导入到 IRIS对象中。

注意:使用的任何XML文档的XML声明都应该指明该文档的字符编码,并且文档应该按照声明的方式进行编码。如果未声明字符编码, IRIS将使用前面的“输入和输出的字符编码”中描述的默认值。如果这些默认值不正确,请修改XML声明,使其指定实际使用的字符集。

还可以使用%XML.Reader读取任意XML文档并返回DOM(文档对象模型)。

创建XML读取器概述

IRIS提供了一些工具,用于读取XML文档并创建与该文档的元素相对应的启用XML的 IRIS对象的一个或多个实例。基本要求如下:

  • 该对象的类定义必须扩展%XML.Adaptor。除了少数例外,该对象引用的类还必须扩展%XML.Adaptor

提示:如果相应的XML模式可用,可以使用它来生成类(以及任何支持的类)。

0 0
0 43

在Ensemble中使用SQL进行批量插入
你好,社区。

我试图在一个表中插入多个值。下面是简单的SQL语句。

插入到表X中

values ('Name', 'Address', 'Phone')

我怎样才能在一条语句中进行多次插入(行)?

数值不在另一个表中,所以我不能使用选择进入。

谢谢。

吉米-克里斯蒂安

Hello Community,

I am trying to insert multiple values in a table. Below is the simple sql statement.

Insert Into TableX

values ('Name', 'Address', 'Phone')

0 0
0 31

为了解国内外最新的互联互通标准,共同助推我国卫生信息互联互通标准化成熟度测评工作,指导各地医院信息平台的建设,《中国卫生信息管理杂志》社决定召开国内外互联互通标准解读与实践线上交流会。会议由《中国卫生信息管理杂志》社主办,InterSystems中国协办,欢迎报名参会!

 

 

0 0
0 53

InterSystems非常高兴地宣布,InterSystems IRIS数据平台、InterSystems IRIS for Health和HealthShare Health Connect的2021.1版本现已向我们的客户和合作伙伴全面开放。

这个版本的为开发者提供了更大的自由度,使他们可以用自己选择的编程语言在服务器端和客户端建立快速和强大的应用程序。这个版本还使用户能够通过新的和更快的分析能力更有效地消费大量的信息。

0 0
0 58
文章
Michael Lei · 六月 15, 2021 阅读大约需 8 分钟
LVM PE 条带化使超聚合存储吞吐量最大化

本帖概述了通过为 InterSystems 数据平台(InterSystems IRIS、Caché 和 Ensemble)上的数据库磁盘创建 LVM 物理盘区 (PE) 条带来实现低延迟存储 IO 的最佳实践配置,并提供了有用链接。

一致的低延迟存储是获得最佳数据库应用程序性能的关键。 例如,对于在 Linux 上运行的应用程序,经常在数据库磁盘中使用逻辑卷管理器 (LVM) ,因为它能够扩展卷和文件系统,或者为在线备份创建快照。 对于数据库应用程序,在使用 LVM PE 条带化逻辑卷的情况下,并行写入还可提高数据 I/O 的效率,从而有助于提高大规模连续读取和写入的性能。

0 0
0 63
文章
姚 鑫 · 六月 13, 2021 阅读大约需 6 分钟
第六章 控制名称空间的使用

第六章 控制名称空间的使用

控制名称空间的使用

如将对象投射到XML中所述,可以将类分配给名称空间,以便相应的XML元素属于该名称空间,还可以控制类的属性是否也属于该名称空间。

将类中的对象导出为XML时,%XML.Write提供其他选项,例如指定元素是否为其父级的本地元素。本节包括以下主题:

  • 默认情况下,%XML.Writer如何处理命名空间
  • 如何指定本地元素是否合格
  • 如何指定元素是否为其父元素的本地元素
  • 如何指定属性是否合格
  • 命名空间分配方式的摘要

注意:在InterSystems IRIS XML支持中,可以按类指定名称空间。通常,每个类都有自己的命名空间声明;但是,通常只需要一个或少量的命名空间。还可以在逐个类的基础上指定相关信息(而不是以某种全局方式)。这包括控制元素是否为其父元素的本地元素以及子元素是否合格的设置。为简单起见,建议使用一致的方法。

0 0
0 23
文章
姚 鑫 · 六月 12, 2021 阅读大约需 6 分钟
第五章 生成XML元素

第五章 生成XML元素

生成XML元素

如果使用RootElement()启动文档的根元素,则负责生成该根元素内的每个元素。有三个选择:

将对象生成为元素

可以从InterSystems IRIS对象生成输出作为元素。在本例中,使用object()方法,该方法写入支持XML的对象。输出包括该对象中包含的所有对象引用。可以指定此元素的名称,也可以使用在对象中定义的默认值。

只能在RootElement()EndRootElement()方法之间使用object()方法。

此示例为给定启用XML的类的所有已保存实例生成输出:

0 0
0 33
文章
姚 鑫 · 六月 11, 2021 阅读大约需 4 分钟
第四章 添加命名空间声明

第四章 添加命名空间声明

添加命名空间声明

默认行为

%XML.Writer会自动插入命名空间声明,生成命名空间前缀,并在适当的地方应用前缀。例如,以下类定义:

Class Sample.Person Extends (%Persistent, %Populate, %XML.Adaptor)
{

Parameter NAMESPACE = "http://www.yaoxin.com";
}

如果导出此类的多个对象,则会看到类似以下内容:

0 0
0 37
文章
姚 鑫 · 六月 10, 2021 阅读大约需 4 分钟
第三章 指定输出的字符集

第三章 指定输出的字符集

指定输出的字符集

若要指定要在输出文档中使用的字符集,可以设置Writer实例的Charset属性。选项包括“UTF-8”“UTF-16”以及InterSystems IRIS支持的其他字符集。

Writing the Prolog

XML文件的序言(根元素之前的部分)可以包含文档类型声明、处理指令和注释。

影响Prolog的属性

writer实例中,以下属性会影响prolog:

Charset

控制两件事:XML声明中的字符集声明和(相应的)输出中使用的字符集编码。

NoXmlDeclaration

控制输出是否包含XML声明。在大多数情况下,默认值是0,这意味着已经编写了声明。如果没有指定字符集,并且输出定向到字符串或字符流,则默认为1,并且不写入任何声明。

0 0
0 32

请问cahce中所有的数据库访问都是通过cache server完成的吗,比如使用终端访问数据库、studio开发的应用、使用第三方库使用代码都是先访问cache server,然后通过cache server对数据进行存取的吗?使用studio开发的应用程序也是跑在cache server中吗? 如果是的话studio开发的应用程序(比如web程序)如何跟cache server分开部署呢?

0 4
0 71

Hi colleagues!

Is there a way to export globals in XML if I have the access to Management Portal or any other web app?

Currently, it gives the option to export into gof format only.

Hi 同事们好!

是否有办法通过管理门户或任何其他的web app以XML的形式导出globals?

目前,它只提供了导出为gof格式的选项。

0 1
0 37

门诊医生工作站是帮助医生规范和高效的完成日常处方、病历书写、结果查询、会诊转诊等一系列诊疗行为的综合应用平台。该平台以电子病历为中心,内置常用模版和术语库;与医嘱系统、实验室系统、影像系统等相联通,为医生提供便捷、快速的辅助工具。

0 0
0 37
文章
姚 鑫 · 六月 9, 2021 阅读大约需 6 分钟
第二章 从对象写入XML输出

第二章 从对象写入XML输出

本章介绍如何从InterSystems IRIS对象生成XML输出。

创建XML编写器概述

InterSystems IRIS提供了用于为InterSystems IRIS对象生成XML输出的工具。可以指定XML投影的详细信息,如将对象投影到XML中所述。然后创建一个Writer方法,该方法指定XML输出的整体结构:字符编码、对象的显示顺序、是否包括处理指令等。

基本要求如下:

  • 如果需要特定对象的输出,则该对象的类定义必须扩展%XML.Adaptor。除了少数例外,该对象引用的类还必须扩展%XML.Adaptor

  • 输出方法必须创建%XML.Writer的实例,然后使用该实例的方法。

下面的终端会话显示了一个简单的示例,在该示例中,我们访问启用了XML的对象并为其生成输出:

1 0
1 25
文章
姚 鑫 · 六月 8, 2021 阅读大约需 8 分钟
第一章 InterSystems XML工具简介

第一章 InterSystems XML工具简介

介绍了如何使用 IRIS XML工具。

InterSystems IRIS为XML处理带来了对象的力量--可以使用对象作为XML文档的直接表示,反之亦然。由于InterSystems IRIS包括本机对象数据库,因此可以将此类对象直接用于数据库。此外,InterSystems IRIS提供了用于处理XML文档和DOM(文档对象模型)的工具,即使它们与任何InterSystems IRIS类无关。

用XML表示对象数据

有些InterSystems IRIS XML工具主要用于支持XML的类。要为类启用XML,需要将%XML.Adaptor添加到其超类列表中。%XML.Adaptor类使能够将该类的实例表示为XML文档。可以添加类参数和属性参数来微调投影。

0 0
0 45

如果您在升级了系统之后,打开SMP时看到如下报错,
ERROR #5001: 对象的服务器版本与客户端发送的版本不一致: %ZEN.Component.vgroup

一般情况下,这个报错是由浏览器缓存中残留的过期信息造成的,可以通过清除浏览器缓存来解决。

如果清除浏览器缓存之后仍然未能解决此问题,请您前往系统安装目录, 如:d:\InterSystems\IRIS\CSP\broker,查看css/js文件的时间戳在本次更新安装之后是否并没有相应地更新,如果没有,请您做以下尝试,
1)在IRIS中更改数据库IRISLIB, 之前的版本是CACHELIB, 取消只读装载,方法如下,打开管理门户SMP, 系统管理->配置->本地数据库,选择要更改的数据库,取消"只读方式挂载",点击【保存】。
2)重新编译%Zen组件,
w ##class(%SYSTEM.OBJ).Compile("%ZEN.Component.vgroup")
此时,再次前往,d:\InterSystems\IRIS\CSP\broker,会看到相关的css/js文件时间戳已经更新。
3)恢复上述数据库的只读装载。

1 0
0 38
文章
姚 鑫 · 六月 5, 2021 阅读大约需 5 分钟
第七章 Caché JSON %JSON快速参考

第七章 Caché JSON %JSON快速参考

%JSON快速参考

本节提供本章中讨论的%JSON方法、属性和参数的快速参考。

%JSON.Adaptor方法

这些方法提供了从JSON序列化和序列化到JSON的能力。

%JSONExport()

%JSON.Adaptor.%JSONExport()将启用JSON的类序列化为JSON文档,并将其写入当前设备。

0 0
0 29
文章
Hao Ma · 六月 4, 2021 阅读大约需 3 分钟
JSON in IRIS (1) - Dynamic Object

之所以称为Dynamic,是说这个对象在代码编译的时候可以不定义对象的属性和结构,在runtime时才根据装入的数据来产生对象定义。IRIS里用Dynamic Object来处理JSON数据。简单说: 先定义一个Dynamic Object, 把JSON数据装进去,然后用对象的方式处理JSON文档。

让我们看看是它是怎么工作的。

创建一个Dynamic Object很简单, 标准而且啰嗦的写法是:

set dynObject1 = ##class(%DynamicObject).%New()

大家通常用简单的写法,像这样用一个{}来定义Dynamic Object:

0 0
0 107
文章
姚 鑫 · 六月 3, 2021 阅读大约需 10 分钟
第十五章 Caché WebSocket

第十五章 Caché WebSocket

使用WebSockets (RFC 6455)

web是围绕请求/响应范例构建的:客户机向服务器发送请求,服务器通过向客户机发送响应进行响应。此范式和HTTP本身不允许此通信协议的反向形式,即服务器与客户机启动请求/响应周期。已经开发了许多技术来解决了这个问题,即服务器可以启动与客户机的对话。这些技术通常被称为基于推送或 comet-based的技术,它们都存在不适合在web基础设施上进行全面部署的问题。目前使用的三种主要技术如下所述。

Short Polling 短轮询

使用这种技术,客户端定期发送HTTP请求来检测服务器状态的变化,服务器被编程为立即响应。空响应表示没有变化。

0 0
0 30
文章
姚 鑫 · 六月 2, 2021 阅读大约需 2 分钟
第十四章 其他InterSystems %Net工具

第十四章 其他InterSystems %Net工具

下面是%Net中其他一些有用类的简短列表:

%Net.URLParser

InterSystems IRIS提供了一个实用程序类%Net.URLParser,可以使用它将URL字符串解析为其组成部分。例如,当您重定向HTTP请求时,这很有用。

该类包含一个类方法Parse(),它接受一个包含URL值的字符串,并通过引用返回一个包含URL各部分的数组。例如:

0 0
0 26