0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是EXI,EXI基础知识

哲想软件 来源:哲想软件 2025-02-07 09:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

EXI 是 W3C 推荐高效 XML 交换 (EXI) 格式 1.0(第二版)中指定的 XML 的一种非常紧凑的表示。与标准(文本)XML 相比,EXI 提高了序列化和解析速度,并允许更有效地使用内存和电池寿命。EXI 流通常比等效的 XML 文档小很多倍,并且需要更少的 CPU 时间来读取或写入。

EXI 可以通过两种主要方式对 XML 文档进行编码 - schemaless 模式和 schema-informed 模式。在 schemaless 模式下,EXI 可以对任何 XML 文档进行编码,无论模式是否可供编码器使用。在 schema-informed 模式下,EXI 具有独特的能力,可以利用从 XML 模式中提取的信息来提高编码效率,而通常不需要严格 数据对模式的依从性。但是,如果用户确定数据根据架构有效,EXI 编码可以甚至更有效。

模式信息的使用使 EXI 编码更有效,因为它允许 EXI 处理器在 EXI 流中的任何点对流中的下一项进行某些预测。例如,如果模式指定元素“A”(在特定上下文中)必须始终跟随元素“B”,那么当前一个元素是“A”时,元素“B”的出现将被编码为 < span style="text-decoration: underline">零位(在 strict 模式下)。

在 schemaless 模式下,在编码或解码操作期间,EXI 处理器会根据目前遇到的文档的实际内容不断修改编码每个项目的方式。例如,当EXI编码器在一个元素“P”的内容中遇到一个元素“C”时,它假设当当前父元素是一个元素时,一个名为“C”的元素比其他名字的元素出现的概率更高 命名为“P”,并创建一种缩写方式来编码名为“C”的元素在名为“P”的元素下的出现。下一次在名为“P”的元素下遇到名为“C”的元素(相同或具有相同名称的后续元素),EXI 编码器将能够使用“C”的缩写编码,从而保存 空间。

总之,EXI 的用户可以在三个主要选项之间进行选择:(a) 根本不使用模式 (schemaless),(b) 在 一种仅支持有效 XML 文档的方式(schema-informed, strict),以及 (c) 以支持偏离模式的方式使用模式(< span style="font-style:italic">schema-informed, non-strict)。schema-informed, strict mode 是三者中效率最高的。schemaless 模式是最容易使用的,因为它不涉及模式。

EXI 与许多其他 XML 压缩技术一样,使用字符串表来临时存储正在编码的 XML 文档中出现的某些类型的字符串,例如名称空间 URI、本地名称、属性值等,以允许后续出现相同的字符串。要使用短字符串标识符编码的字符串。在 schemaless 模式下,所有的字符串表都会在编码或解码操作开始时重置。在 schema-informed 模式中,包含命名空间 URI 和本地名称的字符串表预先填充了取自模式或在 XML 模式建议中定义的字符串,以便 在每个编码或解码操作开始时,这些字符串将是已知的。

EXI 中还有其他选项会影响 EXI 流的内容。其中一些选项,称为 保真度选项,控制 EXI 处理器在 EXI 流中包含某些类型的项目的能力,例如 XML 注释、处理指令和命名空间声明。如果用户对保留在 EXI 编码中的此类项目之一不感兴趣,他们可以选择一个选项,通过不必包含该类型的项目来使 EXI 编码更有效。因此,例如,如果用户声明不需要保留名称空间声明和前缀,则 EXI 流编码器将放弃对这些内容进行编码的能力,并且生成的 EXI 流可能更紧凑。还有另一个保真度选项,它控制简单类型的属性和元素的原始字符串值的保留。当此选项not被选中时,这些值的编码效率更高(例如,类型为xsd:integer< /span> 将被编码为二进制整数而不是字符串),但读取器在读回 EXI 流时不可能重建确切的原始字符串。在许多应用程序中,这种信息丢失是可以接受的,因此不应选择此选项。

EXI 的最后一个主要特性是支持字节对齐和压缩。用户可以选择以下四种对齐方式之一:(a) bit-packed 对齐方式,(b) byte-aligned 对齐,(c) 预压缩,和 (d) 压缩跨度>。Bit-packed 和 compression 是更紧凑的(compression 通常但不总是比 bit-packed) 更紧凑。Bit-packed 和 byte-aligned 是更快的(byte-aligned 可能比 bit-packed 稍快)。

precompression 和 compression 都将 EXI 流中的编码数据排列到特定的布局中,其中所有可能相似的编码数据项都靠近在一起。这种安排提高了应用于数据的压缩算法的有效性。Precompression 本身不执行任何压缩,因为它的唯一目的是为要应用到的外部压缩步骤(EXI 处理器之外)准备 EXI 流EXI 流。压缩 更进一步,将标准 DEFLATE 算法应用于每个相似的编码数据项块,以生成最终的 EXI 流。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20332

    浏览量

    255011
  • 解码
    +关注

    关注

    0

    文章

    189

    浏览量

    28881
  • 编码
    +关注

    关注

    6

    文章

    1040

    浏览量

    57139

原文标题:OSS Nokalva:什么是EXI?

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用我自己的编译从 NVME 启动内核崩溃怎么解决?

    po[12.901912] [] dump_backtrace+0x1c/0x24int does not exi[12.908687] [] dump_stack_lvl+0x40
    发表于 03-03 07:23

    labview编程及基础知识分享

    最近建了一个公众号,本人会在上面进行labview编程知识的分享,欢迎大家关注;公众号叫:上位机知识分享LABVIEW
    发表于 02-13 10:08

    阻燃系列基础知识

    我很荣幸有机会在这里与大家分享我对阻燃系列基础知识的研究。今天,我们将探讨的主题是“阻燃系列基础知识”。在我们日常生活中,火灾事故频发,造成巨大的财产损失和人员伤亡。因此,了解阻燃材料的基础知识对于
    的头像 发表于 02-06 08:07 601次阅读
    阻燃系列<b class='flag-5'>基础知识</b>

    嵌入式基础知识-系统调度

    恢复任务的优先级高于正在运行任务的优先级,则会发生任务切换,将该任务将再次转换任务状态,由就绪态变成运行态。 5、总结 本篇介绍了系统调度的基础知识,包括进程的三种基本状态,进程切换,AUTOSAR与RTOS的任务切换基础知识
    发表于 12-16 08:15

    无刷电机驱动器的基础知识

    本文将从技术角度出发,对三相无刷电机的电机驱动器的作用、种类和规格进行介绍。通过本文,您可以学习到电机驱动器选型所需的基础知识
    的头像 发表于 12-10 14:13 6909次阅读
    无刷电机驱动器的<b class='flag-5'>基础知识</b>

    稳抓地层 “脉搏”!迈威本安型串口服务器护煤矿深井通信

    Mport3101-Exi嵌入式本安型串口服务器强力支撑。它专为严苛环境设计,以稳定、可靠的工业级连接,确保每一条微震信号实时上传,为矿山安全提供坚实保障。
    的头像 发表于 12-04 18:21 628次阅读
    稳抓地层 “脉搏”!迈威本安型串口服务器护煤矿深井通信

    Linux驱动开发的必备知识

    内核基础知识: 1、熟悉 Linux 内核的架构、模块系统、进程管理、内存管理等。 了解内核的编译和加载过程。 2、C编程技能: 精通 C 语言编程,包括指针操作、内存管理、结构体等
    发表于 12-04 07:58

    RK 平台 Vendor Storage 开发指南:基础知识、流程与实用技巧

    备可靠性校验、掉电恢复等关键特性,是保障设备身份标识、功能授权等核心信息安全的重要组件。本文将从基础知识、开发流程、使用途径三方面,为开发者梳理完整的开发逻辑。 一、核心基础知识:了解 Vendor Storage 是什么? 1. 核心定位与核心特性 Vendor Sto
    的头像 发表于 11-22 07:11 1183次阅读
    RK 平台 Vendor Storage 开发指南:<b class='flag-5'>基础知识</b>、流程与实用技巧

    视觉工程师必须知道的工业相机基础知识

    工业相机基础知识概述。
    的头像 发表于 09-19 17:04 1694次阅读
    视觉工程师必须知道的工业相机<b class='flag-5'>基础知识</b>

    工业化超声波清洗设备的基础知识:原理、优势与应用

    工业化超声波清洗设备的基础知识:原理、优势与应用工业化超声波清洗设备在现代制造业中扮演着重要的角色,它们利用超声波技术来进行高效的零件和产品清洁。本文将深入探讨这些设备的基本原理、它们的优势以及广泛
    的头像 发表于 06-10 15:55 1018次阅读
    工业化超声波清洗设备的<b class='flag-5'>基础知识</b>:原理、优势与应用

    以太网入门:从零开始,掌握以太网基础知识

    以太网作为现代通信技术的基石,其重要性不言而喻。无论是日常网络应用,还是AI对高速大带宽网络的需求,以太网都扮演着不可或缺的角色。本文将从零开始,带您了解以太网的基础知识,帮助您快速入门。什么是以
    的头像 发表于 06-09 14:00 4117次阅读
    以太网入门:从零开始,掌握以太网<b class='flag-5'>基础知识</b>!

    CMOS超大规模集成电路制造工艺流程的基础知识

    本节将介绍 CMOS 超大规模集成电路制造工艺流程的基础知识,重点将放在工艺流程的概要和不同工艺步骤对器件及电路性能的影响上。
    的头像 发表于 06-04 15:01 3025次阅读
    CMOS超大规模集成电路制造工艺流程的<b class='flag-5'>基础知识</b>

    【「# 运算放大器参数解析与LTspice应用仿真」阅读体验】+全书概览与第一章阅读分享

    拿到本书之后,看到本书不厚 但是翻开目录可以看到,实际内容还是很丰富的。 第一章介绍了运放的基础知识 第二章介绍了运放的参数解析 第三章介绍了专用放大器 第四章介绍了模拟电路系统
    发表于 05-22 23:18

    漫画图解 电感器 抗干扰元器件指南(全彩PDF版)

    漫画图解电感基础知识(高清PDF) 内容:很形象的漫画和语言图解关于电感器的入门基础知识,让电子初学者也能轻松的看懂电子电路。 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-13 15:49

    电源完整性基础知识

    的关系: 所以,基础知识系列里还是得讲讲电源完整性。话不多说,直接上图:、 01区别 记得刚接触信号完整性的时候,对电源完整性(PI)和电源工程师之间的关系是分不清的。后来才渐渐了解这里面的千差万别
    发表于 05-13 14:41