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

    文章

    20148

    浏览量

    247087
  • 解码
    +关注

    关注

    0

    文章

    187

    浏览量

    28441
  • 编码
    +关注

    关注

    6

    文章

    1015

    浏览量

    56649

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    最易读懂的理工科基础丛书——图解电机基础知识入门

    本书深人浅出地介绍了电动机的基础知识、应用和发展,其内容包括电动机的用途、电动机的基础知识及应用、电流和磁场的关系、直流电动机的结构和作用、交流电动机的结构和作用、特殊电动机的结构和作用
    发表于 04-07 18:28

    1-半导体基础知识(童诗白、华成英主编)

    介绍了半导体基础知识,二极管,三极管。
    发表于 03-28 16:12

    效果器的基础知识

    电子发烧友网站提供《效果器的基础知识.doc》资料免费下载
    发表于 03-26 14:30 6次下载

    开关电源的基础知识题目及答案(免积分)

    本文含有开关电源的基础知识题目及答案,下载附件即可查看!
    发表于 03-06 15:52

    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识

    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
    的头像 发表于 03-06 11:23 1008次阅读
    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO<b class='flag-5'>基础知识</b>

    DC-DC基础知识 + 硬件电路

    一、DCDC简易电路原理DCDC电路是直流转直流电路,将某直流电源转变为不同电压值的电路,分为升压电路和降压电路。1.1电容、电感基础知识1.1.1电容电容两端电压不能突变。通交流、阻直流;通
    的头像 发表于 02-26 13:54 1667次阅读
    DC-DC<b class='flag-5'>基础知识</b> + 硬件电路

    功率器件热设计基础知识

    功率器件热设计是实现IGBT、碳化硅SiC等高功率密度器件可靠运行的基础。掌握功率半导体的热设计基础知识,不仅有助于提高功率器件的利用率和系统可靠性,还能有效降低系统成本。本文将从热设计的基本概念、散热形式、热阻与导热系数、功率模块的结构和热阻分析等方面,对功率器件热设计基础知识
    的头像 发表于 02-03 14:17 1252次阅读

    储能科普之电池基础知识

    利用这段时间给大家整理了五期储能基础知识的分享。 1、电池储能系统ESS/BESS 电池储能系统(Energy Storage System / Battery Energy Storage
    的头像 发表于 01-27 17:37 2543次阅读
    储能科普之电池<b class='flag-5'>基础知识</b>

    PCB绘制基础知识

    电子发烧友网站提供《PCB绘制基础知识.pdf》资料免费下载
    发表于 01-21 15:20 8次下载
    PCB绘制<b class='flag-5'>基础知识</b>

    射频前端设计中的功率等级基础知识

    伴随更多频段的增加和愈发复杂的移动设备出现,蜂窝通信市场已发生巨大变化。随着4G和5G的部署,3GPP的最新规范已将PC2引入FDD频段,更高的发射功率水平也由此带来了与之相关的全新挑战。下面,就让我们回顾一下PC2的基础知识,并深入探讨PC2如何随着这些新的5G部署而演进。
    的头像 发表于 01-07 11:26 2675次阅读
    射频前端设计中的功率等级<b class='flag-5'>基础知识</b>

    EMC基础知识-华为

    EMC基础知识-华为
    发表于 01-06 14:09 5次下载

    万字长文,看懂激光基础知识

    深入介绍激光基础知识,帮助您轻松理解激光领域的关键概念和原理。
    的头像 发表于 12-20 09:49 2083次阅读
    万字长文,看懂激光<b class='flag-5'>基础知识</b>!

    华为-射频基础知识培训

    课程目标z 熟悉和掌握射频基本概念和知识z 了解无线射频系统结构z 了解天馈系统的概念和知课程内容第一章 无线通信的基本概念第二章 射频常用计算单位简介第三章 射频常用概念辨析第四章 射频系统介绍第五章 天线传播基础知识简介
    发表于 12-10 13:39 1次下载