CN108604229A - Xml文件压缩 - Google Patents

Xml文件压缩 Download PDF

Info

Publication number
CN108604229A
CN108604229A CN201580084698.2A CN201580084698A CN108604229A CN 108604229 A CN108604229 A CN 108604229A CN 201580084698 A CN201580084698 A CN 201580084698A CN 108604229 A CN108604229 A CN 108604229A
Authority
CN
China
Prior art keywords
xml file
index
file
printer
xml
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580084698.2A
Other languages
English (en)
Other versions
CN108604229B (zh
Inventor
S·桑切斯里韦斯
J·卡斯塔诺阿斯帕斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN108604229A publication Critical patent/CN108604229A/zh
Application granted granted Critical
Publication of CN108604229B publication Critical patent/CN108604229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • B41J2/17546Cartridge presence detection or type identification electronically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1219Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/707Structured documents, e.g. XML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Record Information Processing For Printing (AREA)
  • Ink Jet (AREA)

Abstract

描述了与可扩展标记语言(XML)文件压缩相关联的示例方法。一个示例包括从XML文件生成一组索引。这组索引可以包括对在XML文件中使用的标签项目编索引的标签索引、对在XML文件中的属性项目编索引的属性和对在XML文件中的值项目编索引的值索引。该示例还包括通过根据索引转换XML文件来将XML文件压缩成XML文件的压缩版本。该示例还包括生成已转换文件。已转换文件可以由该组索引和XML文件的压缩版本组成。

Description

XML文件压缩
背景技术
可扩展标记语言(XML)用于以由机器和人都可读的格式对文档编码。虽然以XML编码的文档常常将不使计算机独自做任何事情,结合被设计为解释XML文档的应用,XML文档可以使那个应用基于当对XML文档编码时使用的标签来执行某些功能,显示某些信息,使用某个格式化,等等。因此,开发了XML标准以便于以正被使用的特定设备不可知的格式的在应用和设备之间的通信。标准可以规定某些关键字或“标签”,其将触发特定的功能被执行。可以接着在设备和/或应用中以对那个设备和/或应用适当的方式实现这些功能。
附图说明
关于结合附图理解的下面的具体实施方式可以更充分认识到本申请,其中相似的附图标记始终指代相似的部分,并且在附图中:
图1示出了与XML文件压缩相关联的示例性文件和数据结构。
图2示出了与XML文件压缩相关联的示例性操作的流程图。
图3示出了与XML文件压缩相关联的示例性操作的另一流程图。
图4示出了与XML文件压缩相关联的示例性打印容器。
图5示出了与XML文件压缩相关联的示例性打印机。
图6示出了与XML文件压缩相关联的另一示例性打印机。
图7示出了示例性打印机,其中示例性系统和方法及等效形式可以操作。
具体实施方式
描述了与可扩展标记语言(XML)文件压缩相关联的系统、方法和等效形式。在各种示例中,将XML文件存储在没有大量可用存储器的设备或项目上可能是合乎需要的。这些项目可以被设计为低成本的,且因此包括较大的存储器存储空间而不影响生产这些项目的成本可能是不实际的。例如,打印容器(例如油墨盒)是大众市场项目,且容器的定价可能是竞争性的,且因此使用具有额外空间的存储器资源可能是浪费的和不必要地昂贵的。
因此,可以用便于减小XML文件的存储器影响的方式来压缩存储在打印容器上的XML文件。虽然当打印容器安装在打印机中时打印机可能花费一些时间来解压缩文件,考虑到设计打印的许多时间围绕打印机的移动机械部件循环,这个处理时间可以是可忽略的。虽然描述了涉及打印容器的示例,本文所述的技术可能在其它领域和/或应用中是可用的。
因此,公开了压缩XML文件的方式,其用于存储这些XML文件。最终,XML文件可以被存储为一组索引和XML文件的压缩版本。可以通过将XML文件的文本分成三种类型的索引来创建索引:标签、属性和值。可以接着根据索引来转换XML文件。索引和压缩的XML文件可以接着存储在例如打印容器中。当打印容器插到打印机内时,打印机可以使用索引将压缩的XML文件解压缩成原始XML文件,允许打印机使用XML文件来执行在XML文件中描述的行动。
图1示出了与XML文件压缩相关联的示例文件和数据结构。应认识到,在图1中描绘的项目是例证性示例,且很多不同的文件、数据结构、用于压缩XML文件的技术等可以根据各种示例来操作。图1示出了XML文件100。XML文件100被示为具有被标示为L00到L10的11行。在这里所示的XML文件100由三种元素类型构成:标签、属性和值。
如本文使用的,标签通常指定义待执行的行动的指令。在XML文件中,例如“<defaults>”、“<spit…/>”和“<routines>”是标签的示例。标签可以包括其它嵌套的标签。在XML文件中示出了两个标签句法。“<defaults>”标签在L00上打开并在L10上以关闭标签“</defaults>”结束,而“<spit…/>”标签在同一行上开始和结束。在这个示例中,为了例证性目的,在不同的行上示出了每个标签,虽然可以在同一行上写多个标签。
标签也可以包括属性。在XML文件100中,“模式”、“频率”和“粒度”是属性的示例。如本文使用的,标签的属性可以用于规定由那个标签触发的唯一行动的参数。此外,属性可以被分配值。在XML文件100中,“1”、“normal”和“thermal_mode”是值的示例。如本文使用的,可以使用与属性相关联的值以规定由属性正修改的标签触发的唯一行动的参数。作为例证,“<wiper-action…/>”具有“速度”属性,其被设置为值“1”。以这种方式使用具有“<wiper-action…/>”标签的“速度”属性可以使与“<wiper-action…/>”标签相关联的行动以某种方式表现。例如,“<wiper-action…/>”标签可以使与打印机相关联的擦拭器开启,且“速度”属性可以用于规定擦拭器将操作的速度,其在这种情况下是“1”。
为了便于上面所述的某些压缩和压缩技术,XML文件100具有特定已知的一组句法可能是合乎需要的。这组句法可以是可能的XML句法的子集。例如,虽然XML可以支持具有在它们中的空格字符的值,确保在XML文件100中的值使用下划线或虚线来代替空格字符(例如在行L03中的“thermal_mode”和在行L02中的“action-defaults”)可能是合乎需要的。使用句法的子集可以通过使确保没有由于两个短语具有压缩到同一压缩短语的两个不同的句法而引起的冲突变得更容易来使压缩、压缩、解压缩和解压缩XML文件100变得更容易和/或更有效。
如上面讨论的,以压缩格式存储XML文件100可能是合乎需要的。虽然如所示的XML文件100可能足够短,使得压缩将是无保证的,对于包含具有标签、属性和值的更多重复的更彻底的指令的较长XML文件,压缩可能是合乎需要的。为了压缩XML文件100,首先可以创建索引110。这可以通过识别在XML文件100中的标签、属性和值并将它们分到它们的单独类别内来实现。在这里,XML文件100包括8个标签、5个属性和6个值。在各种示例中,进一步对标签、属性和值分类以帮助XML文件100的压缩和/或稍后的压缩通过可能是合乎需要的。在这里,标签、属性和值首先按照它们的项目频率并接着按字母顺序被分类。例如,“模式”属性出现在行L03和L09中,而“频率”属性只出现在行L03中。类似地,标签“<defaults>”出现在行L00和L10中,而标签“<progress…/>”只出现在行L08中。
虽然示出了对标签、属性和值编索引的一种方法,可以替代地使用其它方法。作为例证,在索引110中,标签、属性和值都使用同一范围的索引号1-8。在其它示例中,可替代地设计索引,其中标签、属性和值每个被分配非重叠的索引范围。其它索引分配可能也是适当的。
一旦索引110被创建,将索引编码成编码索引115和将XML文件100压缩成压缩的XML文件120就可以开始。在图1中,示出了编码索引115的一个可能的版本。带括弧的项目可表示在编码索引115中的专用标识符,其用于指示在索引110的组成部分之间的间隔。在一个示例中,分隔符可以是例如字符,例如空格、标点符号、组合、已知的值等。在示例编码索引115中,使用5个字符:指示标签索引的开始的“[tag_start]”、指示属性索引的开始的“[attribute_start]”、指示值索引的开始的“[value_start]”、指示在索引110的组成部分之间的间隔的“[separator]”和指示编码索引115的结束的“[index_end]”。在编码索引115和压缩的XML文件120被存储为单个项目的情况下,“[index_end]”分隔符也可以指示压缩的XML文件120的开始。此外,一些分隔符可以由相同的专用标识符表示。
如上面讨论的,在所示的示例索引110中,标签、属性和值每个使用同一索引范围,以及索引范围从已知的值开始。因此,编码索引115可能不需要识别在编码索引115内的标签、属性和密钥的索引值。替代地,这个信息可以被重构为将压缩的XML文件120解压缩的过程的一部分。在标签、属性和值被分配变化的索引的示例实现中,这个信息也可以存储在编码索引115中。
为了创建压缩的XML文件120,可以根据索引110来转换XML文件120。在这里,XML文件100被转换,使得在压缩的XML文件120中的每对字符(例如“T2”)相应于XML文件100的特定标签、属性或值。可以通过检查索引110来看到这个相应性。特别地,第一“<defaults>”标签可以被识别为具有在索引110中的索引2。因此,压缩的XML文件120的第一T2相应于在XML文件100中的第一“<defaults>”标签,因为它是在索引110中的标签(由T指示)号2。类似地,来自XML文件100的行L03的短语“<spit frequency=“6000”mode=“thermal_mode”/>6”相应于读取“T7A2V2A1V6TE”的压缩的XML文件120的部分,“T7A2V2A1V6TE”跨越压缩的XML文件120的第一和第二行。值得注意的是,压缩的XML文件120和编码索引115可以根据这些项目如何被创建而具有或多或少的字符,包括可以服务于各种目的的额外符号。
在压缩的XML文件120的这个示例版本中,使用指示标签末尾的专用符号。被表示为“TE”的这个符号用于向解释压缩的XML文件120的应用指示最近的开放标签在这里应是闭合的。作为例证,在压缩的XML文件120中的最后一个“TE”相应于在XML文件100的行L10上的“</defaults>”标签的闭合。在各种示例中,使用TE标签可能是合乎需要的,因为压缩的某些形式越有效,字符就重复得越多。这也可能是为什么按照项目频率对标签索引分类是有用的原因,因为相同索引的增加的使用可以进一步增加压缩效率。
因此,一旦XML文件100压缩成编码索引115和压缩的XML文件120——其组合将被称为已转换文件,已转换文件就可以通过使用压缩技术在尺寸上进一步减小。哪种压缩技术被使用可以取决于编码索引115和压缩的XML文件120如何被创建,因为这些项目的创建可以设计成对特定的数据压缩技术是最佳的。
不管已转换文件是否进一步被压缩,已转换文件都可以接着存储在项目的存储器中,XML文件100与该项目相关联。一个示例项目——其中XML文件100的这种类型的压缩可能是合乎需要的——是包含打印材料的供应品的打印容器。打印材料和/或打印容器可以设计成对特定类型的打印机行得通。打印机可以是归类为例如为家庭或办公室用途设计的桌上型打印机、可以每小时输出数千个项目的工业规模打印机等的二维打印机。打印机也可以是三维打印机。如上面提到的,也可在打印领域之外应用涉及压缩XML文件的这些技术。
根据打印容器相关于的打印机的类型,打印材料可以包括油墨、色粉、清洁液、3D打印机的构建材料等。因此在这个示例中,XML文件100可以包含打印容器被安装于的打印机的指令。这些指令可以告诉打印机如何使用打印材料来有效地操作。因此,这些指令可以与清洁打印机、以另外方式检修打印机、使用打印材料进行打印等有关。其它信息(例如安全信息、一般更新)可以用这种方式传送到打印机。
一旦打印容器安装到打印机内,那个打印机就可以从打印容器的存储器取回已转换文件,并接着开始解压缩,并将已转换文件解压缩成XML文件100。文件如何被解压缩将取决于所使用的压缩技术。将已转换文件解压缩可以与创建压缩的XML文件相反地操作。因为可以将句法限制到已知的一组句法,所以可以通过基于在压缩的XML文件120中的标签、属性和值的特定排序填充句法来重新创建XML文件100。在将已转换文件解压缩成XML文件100之后,打印机可以接着使用指令来执行由XML文件100所述的功能(例如清洁打印机、检修打印机、使用在打印容器中的材料进行打印)。
在一些示例中,在将已转换文件解压缩和解压缩回到XML文件100之后,打印机可以组合来自XML文件100的指令与一组所存储的指令。这些所存储的指令可以是打印机可使用的一组默认指令,而不考虑哪种打印材料被安装,除非被来自XML文件例如XML文件100的指令盖写。
应认识到,在下面的描述中,阐述了很多特定的细节以提供对示例的彻底理解。然而,应认识到,可以在没有这些细节的情况下实施示例。在其它实例中,可以不详细描述方法和结构,以便避免使示例的描述不必要地模糊。此外,示例可以彼此组合来被使用。
如本文中使用的“模块”包括但不限于存储在计算机可读介质上或在机器上执行的硬件、固件、软件,和/或每个的组合以执行功能或行动和/或引起来自另一模块、方法和/或系统的功能或行动。模块可以包括软件控制的微处理器、分立模块、模拟电路、数字电路、编程模块设备、包含指令的存储器设备等。模块可以包括门、门的组合或其它电路部件。在多个逻辑模块被描述的场合,将多个逻辑模块合并到一个物理模块内也许是可能的。类似地,在单个逻辑模块被描述的场合,将单个逻辑模块分布在多个物理模块之间也许是可能的。
图2示出了与XML文件压缩相关联的示例方法200。方法200可以体现在存储处理器可以执行指令的非临时计算机可读介质上。指令当由处理器执行时可以使处理器执行方法200。在其它示例中,方法200可以存在于专用集成电路的逻辑门和/或RAM内。
方法200包括在210从可扩展标记语言(XML)文件生成索引。在各种示例中,XML文件可以包含控制打印机的操作的指令。XML文件可以包含基于存储在打印材料容器(例如油墨盒)中的打印材料的类型来控制打印机的操作的指令。作为例证,不同的材料可以用不同的方式影响打印机的部件并可以使那些部件具有不同的维修需要。因此,与存储特定打印材料的打印容器相关联的XML文件也许能够控制打印机以执行适合于该特定打印材料的各种功能,包括维修功能。XML文件也可以包括与例如清洁打印机、检修打印机、使用打印材料进行打印等有关的其它指令。
这组索引可以包括几个索引,包括标签索引、属性索引和值索引。标签索引可以对在XML文件中使用的标签项目编索引。值索引可以对XML文件中的值项目编索引。在一些示例中,在标签索引、属性索引和值索引中的项目可以在它们的相应索引内根据在XML文件内的项目的频率被排序。根据项目频率对索引排序可能是合乎需要的,因为某些压缩技术实现更大的压缩速率,更多的项目被重复。因此,当索引范围重叠时,这些索引的重复使用可以帮助实现更大的压缩速率。
在各种示例中,XML文件可以包含控制打印机的操作的指令。XML文件可以包含基于存储在打印机材料容器(例如油墨盒)中的打印材料的类型来控制打印机的操作的指令。作为例证,不同的材料可以用不同的方式影响打印机的部件并可以使那些部件具有不同的维修需要。因此,与存储特定打印材料的打印容器相关联的XML文件也许能够控制打印机以执行适合于该特定打印材料的各种功能,包括维修功能。XML文件也可以包括与例如清洁打印机、检修打印机、使用打印材料进行打印等有关的其它指令。
方法200还可以包括在220将XML文件压缩成XML文件的压缩版本。可以通过根据索引转换XML文件来压缩XML文件的压缩版本。在一些示例中,为了便于在210的索引的创建、在220的XML文件的压缩和在稍后的点的XML文件的嵌在解压缩,XML文件可以使用XML句法的已知子集。可以预先选择这些句法,使得例如对于任何两个给定的不同XML语句,这两个语句的压缩版本是不同的。类似地,也可以选择句法,使得对于任何两个给定的不同压缩语句,这些语句的解压缩版本也是不同的。
方法200还包括生成已转换文件。已转换文件可以由在行动210创建的这组索引和在行动220创建的XML文件的压缩版本构成。作为例证,索引和XML文件的压缩版本可以连接成单个文件以创建已转换文件。
图3示出了与XML文件压缩相关联的方法300。方法300包括与上面关于方法200(图2)所述的行动类似的几个行动。例如,方法300包括在310从XML文件生成一组索引,在320将XML文件压缩成XML文件的压缩版本,以及在330生成包括这组索引和XML文件的压缩版本的已转换文件。
方法300还包括在340压缩已转换文件。压缩已转换文件还可以包括减小已转换文件的总文件尺寸。方法300还包括在350将已转换文件存储在存储器上。在XML文件包含控制与打印材料相关联的打印机的操作的指令的示例中,已转换文件可以存储在保持打印材料的供应品的打印材料容器的存储器上。这可以允许打印机特别配置成使用各种打印材料而不必将这个信息存储在存储器本身中。这可能在例如配置打印机以使用新打印材料、节省在打印机内的存储器空间等时是合乎需要的。
图4示出了与可扩展标记语言(XML)文件压缩相关联的打印容器400。打印容器400包括打印材料410的供应品。打印材料410可以是例如油墨、清洁液等。打印容器400还包括打印材料分配器420。打印材料分配器420可以采取很多形式,取决于打印容器400被插入的打印机设计成如何操作。例如,如果打印机将打印材料410从待弹射的打印容器400拉到在另一位置处的打印介质上,则打印材料分配器420可以与从打印容器400拉打印材料410的打印机的机构通过界面连接。可选地,如果打印容器是设计成将打印材料410直接弹射到打印介质上的盒,则打印材料分配器420可以直接分配打印材料410。
打印容器还包括存储器430。存储器430包括标签索引432。标签索引432可以包含来自可扩展标记语言(XML)文件的标签项目的列表。可以根据在XML文件中的标签项目的频率来组织标签项目。存储器430还包括属性索引434。属性索引434可以包含来自XML文件的属性项目的列表。可以根据在XML文件中的属性项目的频率在属性索引434中组织属性项目。存储器430还包括值索引436。值索引436可以包含来自XML文件的值项目的列表。可以根据在XML文件中的值项目的频率在值索引436中组织值项目。
存储器430还包括压缩的XML文件438。可以通过根据标签索引、属性索引和值索引转换XML文件来创建XML文件438的压缩版本。在一些示例中,标签索引432、属性索引434、值索引436和压缩的XML文件438可以用压缩格式存储在存储器430中。在各种示例中,打印容器400被插入的打印机可以使用标签索引、属性索引、值索引和XML文件的压缩版本来重新创建XML文件。因此,重新创建的XML文件可以控制与打印材料410、打印容器400、打印材料分配器420等中的一个或多个相关联的打印机的操作。
图5示出了与可扩展标记语言(XML)文件压缩相关联的打印机500。打印机500包括外壳510。外壳510可以接收具有打印材料的供应品的打印容器599。打印材料可以是例如油墨、色粉、清洁液等。
打印机500还包括通信模块520。通信模块520可以包含一组索引和来自打印容器599的压缩的XML文件。可以从这组索引以及未存储在打印容器599上的原始XML文件创建压缩的XML文件。在各种示例中,通信模块520可以从在打印容器599上的存储器取回这组索引和压缩的XML文件。因此在这个示例中,外壳510和打印容器599可以包含适当的电子耦合器以便于在通信模块520和打印容器599上的存储器之间的通信。
打印机500还包括提取模块530。提取模块530可以生成解压缩的XML文件。可以通过根据这组索引转换压缩的XML文件来生成解压缩的XML文件。
打印机500还包括控制模块540。控制模块540可以根据从解压缩的XML文件取回的指令来控制打印机500的操作。在各种示例中,控制模块540可以控制下来操作中的一个或多个:清洁打印机的部件、检修打印机的部件、使用包含在打印容器599中的打印材料进行打印等。
图6示出了与XML文件压缩相关联的打印机600。打印机600包括与上面关于打印机500所述的项目类似的项目。例如,打印机600包括接纳具有打印材料的供应品的打印容器699的外壳610、通信模块620、提取模块630和控制模块640。
打印机600还包括解压缩模块650。解压缩模块650可以将这组索引和压缩的XML文件解压缩。当这些项目以压缩格式存储在打印容器699的存储器上以进一步减小存储在打印容器699上的数据的数量时,可以执行压缩的XML文件和索引的解压缩。
打印机600还包括存储器660。存储器660可以存储一组默认指令。因此,当解压缩的XML文件修改默认指令时,控制模块640可以根据从解压缩的XML文件取回的指令来控制打印机的操作。如上面讨论的,打印机的操作可以与清洁打印机、检修打印机、使用打印材料进行打印等有关。
图7示出了示例计算机,其中示例系统和方法及等效形式可以操作。示例计算机可以包括部件,例如由总线730连接的处理器710和存储器720。计算机700还包括XML文件压缩模块740。XML文件压缩模块740可以单独地或组合地执行上面关于示例系统、方法、装置等所述的各种功能。在不同的示例中,XML文件压缩模块740可以在硬件、软件、固件、专用集成电路和/或其组合中被实现为存储处理器可以执行指令的非临时计算机可读介质。
指令也可以作为临时存储在存储器720中的数据750和/或过程760被呈递到计算机700,并接着由处理器710执行。处理器710可以是各种处理器,包括双重微处理器和其它多处理器架构。存储器720可以包括非易失性存储器(例如只读存储器)和/或易失性存储器(例如随机存取存储器)。存储器720也可以是例如磁盘驱动器、固态磁盘驱动器、软盘驱动器、磁带驱动器、闪存卡、光盘等。因此,存储器720可以存储过程760和/或数据750。计算机700也可以在很多配置(未示出)中与包括计算机、打印机、外围设备等的其它设备相关联。
应认识到,提供所公开的示例的以前的描述以使本领域中的任何技术人员能够制造或使用本公开。对这些示例的各种修改将对本领域中的技术人员容易明显,并且本文定义的一般原理可以适用于其它示例而不偏离本公开的精神或范围。因此,本公开并没有被规定为限于本文所示的示例,但应符合与本文公开的原理和新颖特征一致的最宽范围。

Claims (15)

1.一种方法,包括:
由可扩展标记语言(XML)文件生成一组索引,其中,所述一组索引包括对所述XML文件中使用的标签项目编索引的标签索引、对所述XML文件中的属性项目编索引的属性索引、以及对所述XML文件中的值项目编索引的值索引;
通过根据所述索引转换所述XML文件来将所述XML文件压缩成所述XML文件的压缩版本;以及
生成包括所述一组所述索引、所述XML文件的所述压缩版本的已转换文件。
2.根据权利要求1所述的方法,其中,所述XML文件包含基于存储在打印材料容器中的打印材料的类型来控制打印机的操作的指令。
3.根据权利要求2所述的方法,还包括:
将所述已转换文件存储在与所述打印材料容器相关联的存储器上。
4.根据权利要求3所述的方法,包括:压缩所述已转换文件。
5.根据权利要求2所述的方法,其中,控制打印机的操作的所述指令控制下列操作中的一个或多个:清洁所述打印机、检修所述打印机和使用所述打印材料进行打印。
6.根据权利要求1所述的方法,其中,所述XML文件使用XML句法的已知子集。
7.根据权利要求1所述的方法,其中,标签项目、属性项目和值项目在其相应的索引中根据所述XML文件中的项目的项目频率进行排序。
8.一种打印容器,包括:
打印材料的供应品;
打印材料分配器;以及
存储器,其存储:
标签索引,其包含根据可扩展标记语言(XML)文件中的标签项目的频率而组织的来自所述XML文件的所述标签项目的列表;
属性索引,其包含根据所述XML文件中的属性项目的频率而组织的来自所述XML文件的所述属性项目的列表;
值索引,其包含根据所述XML文件中的值项目的频率而组织的来自所述XML文件的所述值项目的列表;以及
通过根据所述标签索引、所述属性索引和所述值索引转换所述XML文件而创建的所述XML文件的压缩版本。
9.根据权利要求8所述的打印容器,其中,所述打印容器被安装到其中的打印机使用所述标签索引、所述属性索引、所述值索引和所述XML文件的所述压缩版本来重新创建所述XML文件。
10.根据权利要求9所述的打印容器,其中,所重新创建的XML文件结合所述打印材料、所述打印材料分配器和所述打印容器中的至少一个来控制所述打印机的操作。
11.根据权利要求8所述的打印容器,其中,所述标签索引、所述属性索引、所述值索引和所述XML文件的所述压缩版本以压缩格式存储在所述存储器中。
12.一种打印机,包括:
外壳,其用于接纳具有打印材料的供应品的打印容器;
通信模块,其用于从所述打印容器上的存储器得到一组索引以及由所述索引创建的压缩的可扩展标记语言(XML)文件;
提取模块,其用于通过根据所述一组索引转换所述压缩的XML文件来由所述压缩的XML文件生成解压缩的XML文件;以及
控制模块,其用于根据从所述解压缩的XML文件取回的指令来控制所述打印机的操作。
13.根据权利要求12所述的打印机,包括存储一组默认指令的存储器,并且其中,当所述解压缩的XML文件修改所述默认指令时,所述控制模块根据从所述解压缩的XML文件取回的所述指令来控制所述打印机的所述操作。
14.根据权利要求12所述的打印机,其中,所述控制模块控制下列操作中的一个或多个:清洁所述打印机的部件、检修所述打印机的部件、以及使用所述打印材料进行打印。
15.根据权利要求12所述的打印机,包括用于将所述一组索引和所述压缩的XML文件解压缩的解压缩模块。
CN201580084698.2A 2015-11-20 2015-11-20 用于xml文件压缩的方法、打印容器以及打印机 Active CN108604229B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/061864 WO2017086989A1 (en) 2015-11-20 2015-11-20 Xml file condensing

Publications (2)

Publication Number Publication Date
CN108604229A true CN108604229A (zh) 2018-09-28
CN108604229B CN108604229B (zh) 2022-08-02

Family

ID=58717611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580084698.2A Active CN108604229B (zh) 2015-11-20 2015-11-20 用于xml文件压缩的方法、打印容器以及打印机

Country Status (12)

Country Link
US (1) US10817473B2 (zh)
EP (2) EP3377987A4 (zh)
JP (1) JP2019506652A (zh)
KR (1) KR102175227B1 (zh)
CN (1) CN108604229B (zh)
AU (2) AU2015415125A1 (zh)
CA (1) CA3002669C (zh)
HK (1) HK1255733A1 (zh)
IL (1) IL258923B (zh)
RU (1) RU2695486C1 (zh)
WO (1) WO2017086989A1 (zh)
ZA (1) ZA201802843B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016206046A1 (de) * 2016-04-12 2017-10-12 Siemens Aktiengesellschaft Gerät und Verfahren zur Bearbeitung eines binärkodierten Strukturdokuments
CN109815240B (zh) * 2019-01-29 2022-02-25 北京百度网讯科技有限公司 用于管理索引的方法、装置、设备和存储介质
WO2021054981A1 (en) 2019-09-20 2021-03-25 Hewlett-Packard Development Company, L.P. Supply and mixing cartridges
US11590763B2 (en) 2019-09-20 2023-02-28 Hewlett-Packard Development Company, L.P. Printer recirculation control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199651A1 (en) * 2003-01-16 2004-10-07 Sayaka Kobayashi Apparatus, method and system of providing information
CN1996229A (zh) * 2006-01-05 2007-07-11 三星电子株式会社 用户终端及其文件列表提供方法
US20080133557A1 (en) * 2006-12-01 2008-06-05 Canon Kabushiki Kaisha Document data processing method, document data creating apparatus, and document data processing system
US20120254050A1 (en) * 2011-03-31 2012-10-04 Xerox Corporation System and method to validate consumables installed in a printing system
US20130060740A1 (en) * 2011-08-23 2013-03-07 Fujitsu Limited Data managing method, apparatus, and recording medium of program, and searching method, apparatus, and medium of program

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883137B1 (en) * 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
US6345891B1 (en) 2000-07-31 2002-02-12 Hewlett-Packard Company Method and apparatus for specifying ink volume in a multichamber ink container
JP2002321392A (ja) 2001-03-02 2002-11-05 Oce Technologies Bv プリンタおよびインクカートリッジの構成方法
US6459860B1 (en) * 2001-03-08 2002-10-01 Hewlett-Packard Company Replaceable printer component including memory device that defines printing capabilities
US7089567B2 (en) * 2001-04-09 2006-08-08 International Business Machines Corporation Efficient RPC mechanism using XML
US7321439B2 (en) * 2001-07-05 2008-01-22 Canon Kabushiki Kaisha Information processing apparatus and method for processing externally transmitted data, and information processing program
BR0318369A2 (pt) * 2002-07-23 2010-03-16 Samsung Electronics Co Ltd método de provisão de uma estrutura de indexação para meta-dados divididos em fragmentos e método de provisão de um ìndice de chave múltipla de meta-dados estruturados em árvore que são divididos em uma faixa previamente determinada de fragmentos
EP1610228A4 (en) * 2003-03-07 2009-07-29 Sharp Kk DATA CONVERSION METHOD FOR REALIZING MARKING LANGUAGE PROCESSING
JP4168946B2 (ja) 2004-01-29 2008-10-22 Kddi株式会社 文書データの符号化又は復号化方法及びそのプログラム
US7260580B2 (en) 2004-06-14 2007-08-21 Sap Ag Binary XML
JP4970780B2 (ja) 2005-03-09 2012-07-11 株式会社リコー 電子装置、及び交換ユニット
US8721203B2 (en) 2005-10-06 2014-05-13 Zih Corp. Memory system and method for consumables of a printer
EP2139222A1 (en) 2005-12-07 2009-12-30 Catalina Marketing Corporation Color printer technology
US8161199B1 (en) 2007-06-25 2012-04-17 Marvell International Ltd. Smart printer cartridge
US8023135B2 (en) * 2008-02-29 2011-09-20 Sharp Laboratories Of America, Inc. Interface for building a print container
US20110157647A1 (en) * 2008-05-29 2011-06-30 Panshin Stephen D Replaceable Printer Component Including Memory Storing Data Defined by Tags and Sub-Tags
CA2741595C (en) * 2008-10-27 2018-05-15 Kabushiki Kaisha Sato Label printer api using lua program scripting language
JP5864887B2 (ja) * 2011-04-21 2016-02-17 キヤノン株式会社 画像形成装置、及び管理方法
US8189225B1 (en) * 2011-10-04 2012-05-29 Google Inc. Printing to a cloud printer via NFC
CA2886603A1 (en) * 2012-09-28 2014-04-03 Alkis Papadopoullos A method and system for monitoring social media and analyzing text to automate classification of user posts using a facet based relevance assessment model
US9052853B2 (en) 2013-01-02 2015-06-09 Seiko Epson Corporation Client device using a web browser to control a periphery device via a printer
PT3028213T (pt) 2013-07-31 2022-07-20 Hewlett Packard Development Co Proteção de dados na memória de um produto consumível
JP6289056B2 (ja) * 2013-11-29 2018-03-07 キヤノン株式会社 電子機器及びその制御方法、並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199651A1 (en) * 2003-01-16 2004-10-07 Sayaka Kobayashi Apparatus, method and system of providing information
CN1996229A (zh) * 2006-01-05 2007-07-11 三星电子株式会社 用户终端及其文件列表提供方法
US20080133557A1 (en) * 2006-12-01 2008-06-05 Canon Kabushiki Kaisha Document data processing method, document data creating apparatus, and document data processing system
US20120254050A1 (en) * 2011-03-31 2012-10-04 Xerox Corporation System and method to validate consumables installed in a printing system
US20130060740A1 (en) * 2011-08-23 2013-03-07 Fujitsu Limited Data managing method, apparatus, and recording medium of program, and searching method, apparatus, and medium of program

Also Published As

Publication number Publication date
JP2019506652A (ja) 2019-03-07
IL258923A (en) 2018-06-28
AU2020201487A1 (en) 2020-03-19
BR112018008970A8 (pt) 2019-02-26
KR102175227B1 (ko) 2020-11-09
AU2020201487B2 (en) 2021-11-04
IL258923B (en) 2020-05-31
HK1255733A1 (zh) 2019-08-23
WO2017086989A1 (en) 2017-05-26
CN108604229B (zh) 2022-08-02
KR20180072745A (ko) 2018-06-29
AU2015415125A1 (en) 2018-05-31
CA3002669A1 (en) 2017-05-26
US20180300352A1 (en) 2018-10-18
EP3377987A4 (en) 2019-04-17
EP3790200A1 (en) 2021-03-10
BR112018008970A2 (pt) 2018-10-30
ZA201802843B (en) 2022-07-27
EP3377987A1 (en) 2018-09-26
CA3002669C (en) 2022-05-17
US10817473B2 (en) 2020-10-27
RU2695486C1 (ru) 2019-07-23

Similar Documents

Publication Publication Date Title
CN108604229A (zh) Xml文件压缩
US8473911B1 (en) Documentation generation from a computer readable symbolic representation
KR100661173B1 (ko) 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법
CN101996160B (zh) 一种字体数据的处理方法及系统
JP6107513B2 (ja) 情報処理システム、情報処理方法、および情報処理プログラム
JPH04500876A (ja) 画像生成ソフトウエア
CN106776584A (zh) 文字显示方法、翻译表生成方法、文件翻译方法及装置
CN108021632B (zh) 非结构化数据与结构化数据相互转换处理方法
CN103109264A (zh) 创建配置文件模板
Bagley et al. Creating reusable well-structured PDF as a sequence of component object graphic (COG) elements
CN105868257A (zh) Xml数据解析方法、生成方法以及处理系统
JP2019179470A (ja) 情報処理プログラム、情報処理方法、および情報処理装置
CN102169478B (zh) 用于呈现多语言文本的装置和方法
JP7011029B2 (ja) Xmlファイルの凝縮
CN101067785B (zh) 一种基于嵌入式平台的资源管理方法及系统
CN108073398A (zh) 一种可配置的通知单实现引擎及方法
Hayes Bit rot
CN110032345A (zh) 一种信息无纸化记录方法、装置、设备和系统
WO2018187064A1 (en) Reduced memory footprint font sample strings
JP2010282248A (ja) プログラム言語解析実行プログラム
JP2010224656A (ja) ソースコード生成装置、プログラム及びソースコード生成方法
TWM522398U (zh) 替換式組字系統
BR112018008970B1 (pt) Recipiente de impressão e impressora
JP2006330850A (ja) 文書管理システムおよびその方法
CN110070162A (zh) 条形码中待填充数据的编码方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant