УПЛОТНЕНИЕ XML-ФАЙЛА
XML-FILE PACKING

УРОВЕНЬ ТЕХНИКИ
[0001] Расширяемый язык разметки (XML) используется для кодирования документов в формат, считываемый машинами и людьми. Хотя кодированный в XML документ часто не заставит компьютер сделать что-нибудь самостоятельно, XML-документ совместно с приложением, спроектированным для интерпретации XML-документа, может побудить это приложение выполнить некоторые функции, отобразить некоторую информацию, использовать некоторое форматирование и так далее на основе тегов, используемых при кодировании XML-документа. Следовательно, разработаны стандарты XML для упрощения связи между приложениями и устройствами в форматах, которые безразличны к конкретным используемым устройствам. Стандарты могут задавать некоторые ключевые слова, или "теги", которые будут инициировать выполнение определенных функций. Тогда эти функции можно реализовать в устройствах и/или приложениях подходящим к тому устройству и/или приложению способом.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0002] Настоящую заявку можно полнее оценить применительно к следующему подробному описанию в сочетании с прилагаемыми чертежами, на которых одинаковые номера позиций везде относятся к одинаковым частям, и на которых:
[0003] Фиг. 1 иллюстрирует примерные файлы и структуры данных, ассоциированные с уплотнением XML-файла.
[0004] Фиг. 2 иллюстрирует блок-схему алгоритма примерных операций, ассоциированных с уплотнением XML-файла.
[0005] Фиг. 3 иллюстрирует другую блок-схему алгоритма примерных операций, ассоциированных с уплотнением XML-файла.
[0006] Фиг. 4 иллюстрирует примерный печатающий контейнер, ассоциированный с уплотнением XML-файла.
[0007] Фиг. 5 иллюстрирует примерный принтер, ассоциированный с уплотнением XML-файла.
[0008] Фиг. 6 иллюстрирует другой примерный принтер, ассоциированный с уплотнением XML-файла.
[0009] Фиг. 7 иллюстрирует примерный принтер, в котором могут работать примерные системы, способы и эквиваленты.
ПОДРОБНОЕ ОПИСАНИЕ
[0010] Описываются системы, способы и эквиваленты, ассоциированные с уплотнением файлов на расширяемом языке разметки (XML). В различных примерах может быть желательно хранить XML-файлы на устройствах или предметах, которые не обладают большим объемом доступной памяти. Эти предметы могут быть спроектированы как недорогие, и поэтому может быть непрактично включать в них большее пространство памяти без воздействия на стоимость производства этих предметов. Например, печатающие контейнеры (например, чернильные картриджи) являются предметами массового производства, и ценообразование контейнеров может быть конкурентным, а поэтому применение ресурсов памяти с избыточным пространством может быть расточительным и излишне дорогостоящим.
[0011] Следовательно, сохраненный в печатающем контейнере XML-файл можно уплотнить способом, который обеспечивает уменьшение влияния XML-файла на память. Хотя принтеру может потребоваться некоторое время, чтобы разуплотнить файл, когда печатающий контейнер устанавливается в принтер, это время обработки может быть незначительным с учетом того, что значительная часть связанного с печатью времени сосредоточена на перемещении механических компонентов принтера. Хотя описываются примеры, затрагивающие печатающие контейнеры, описанные в этом документе методики могут использоваться в других областях и/или применениях.
[0012] Следовательно, раскрывается способ уплотнения XML-файла для хранения этих XML-файлов. В конечном счете, XML-файл можно хранить в виде набора индексов и уплотненной версии XML-файла. Индексы могут создаваться путем деления текста XML-файла на три типа индексов: теги, атрибуты и значения. Тогда XML-файл можно преобразовать в соответствии с индексами. Затем индексы и уплотненный XML-файл можно сохранить, например, в печатающем контейнере. Когда печатающий контейнер вставляется в принтер, принтер может разуплотнить уплотненный XML-файл до исходного XML-файла, используя индексы, что позволяет принтеру использовать XML-файл для выполнения действий, описанных в XML-файле.
[0013] Фиг. 1 иллюстрирует примерные файлы и структуры данных, ассоциированные с уплотнением XML-файла. Следует принять во внимание, что изображенные на фиг. 1 элементы являются пояснительными примерами, и многие другие файлы, структуры данных, методики для уплотнения XML-файла и так далее могут работать в соответствии с различными примерами. Фиг. 1 иллюстрирует XML-файл 100. XML-файл 100 иллюстрируется содержащим одиннадцать строк, помеченных с L00 по L10. Проиллюстрированный здесь XML-файл 100 составлен из трех типов элементов: теги, атрибуты и значения.
[0014] При использовании в данном документе теги относятся в целом к командам, которые задают выполняемое действие. В XML-файле 100 примерами тегов являются, например, "<defaults>", "<spit …/>" и "<routines>". Теги могут включать в себя другие вложенные теги. В XML-файле 100 иллюстрируется два синтаксиса тегов. Тег "<defaults>" открывается на L00 и заканчивается на L10 закрывающим тегом "</defaults>", тогда как тег "<spit …/>" начинается и заканчивается на одной и той же строке. В этом примере каждый тег с пояснительной целью иллюстрируется на разной строке, хотя на одной строке можно было бы написать несколько тегов.
[0015] Теги также могут включать в себя атрибуты. В XML-файле 100 примерами атрибутов являются "mode", "frequency" и "granularity". При использовании в данном документе атрибут тега может использоваться для задания параметра уникального действия, инициируемого тем тегом. Кроме того, атрибутам можно назначать значения. В XML-файле 100 примерами значений являются "1", "normal" и "thermal_mode". При использовании в данном документе значения могут использоваться совместно с атрибутами для задания параметра уникального действия, инициируемого тегом, атрибут которого изменяется. В качестве иллюстрации у тега "<wiper-action …/>" есть атрибут "speed", который устанавливается в значение "1". Использование, таким образом, атрибута "speed" с тегом "<wiper-action …/>" может побудить действие, ассоциированное с тегом "<wiper-action …/>", происходить определенным образом. Например, тег "<wiper-action …/>" может вызвать включение очистителей, ассоциированных с принтером, а атрибут "speed" может использоваться для задания скорости, с которой будут работать очистители, которая в этом случае равна "1".
[0016] Для упрощения некоторых описанных выше методик уплотнения и сжатия может быть желательно, чтобы XML-файл 100 содержал определенный известный набор синтаксисов. Этот набор синтаксисов может быть подмножеством возможных синтаксисов XML. Например, хотя XML мог бы поддерживать значения с символами пробела в них, может быть желательно обеспечить, что значения в XML-файле 100 используют подчеркивания или тире вместо символов пробела (например, значение "thermal_mode" в строке L03, "action-defaults" в строке L02). Использование подмножества синтаксисов может упростить и/или повысить эффективность уплотнения, сжатия, распаковки и разуплотнение XML-файла 100 путем обеспечения того, что отсутствует конфликт из-за двух фраз с двумя разными синтаксисами, сжимающихся в одинаковую сжатую фразу.
[0017] Как обсуждалось выше, может быть желательно хранить XML-файл 100 в уплотненном формате. Хотя XML-файл 100, как проиллюстрировано, может быть таким коротким, что уплотнение будет неоправданно, уплотнение может быть желательно для больших XML-файлов, которые содержат более полные команды с большим повторением тегов, атрибутов и значений. Для уплотнения XML-файла 100 сначала можно создать индекс 110. Это может достигаться путем идентификации тегов, атрибутов и значений в XML-файле 100 и их разделения на отдельные категории. Здесь XML-файл 100 включает в себя 8 тегов, 5 атрибутов и 6 значений. В различных примерах может быть желательно дополнительно сортировать теги, атрибуты и значения для содействия проходу уплотнения и/или последующего сжатия XML-файла 100. Здесь теги, атрибуты и значения сначала сортируются по их частотности, а затем по алфавиту. Например, атрибут "mode" появляется в строках L03 и L09, тогда как атрибут "frequency" появляется только в строке L03. Аналогичным образом тег "<defaults>" появляется в строках L00 и L10, тогда как тег "<progress …/>" появляется только в строке L08.
[0018] Хотя показан один способ индексирования тегов, атрибутов и значений, вместо него могут использоваться другие. В качестве иллюстрации в индексе 110 все теги, атрибуты и значения используют одинаковый диапазон индексов 1-8. В других примерах вместо этого могут быть спроектированы индексы, где тегам, атрибутам и значениям назначаются неперекрывающиеся диапазоны индексов. Также могут быть уместны другие назначения индексов.
[0019] Как только создан индекс 110, может начинаться кодирование индекса в кодированный индекс 115 и уплотнение XML-файла 100 в уплотненный XML-файл 120. На фиг. 1 показана одна возможная версия кодированного индекса 115. Элементы в скобках могут представлять собой специализированные идентификаторы в кодированном индексе 115, которые используются для указания разделения между компонентами индекса 110. В одном примере разделители могут быть, например, такими символами, как пробелы, пунктуация, объединение, известные значения и так далее. В примерном кодированном индексе 115 используется 5 разделителей: "[tag_start]", который указывает начало индекса тега, "[attribute_start]", который указывает начало индекса атрибута, "[value_start]", который указывает начало индекса значения, "[separator]", который указывает разделение между компонентами индекса 110, и "[index_end]", который указывает окончание кодированного индекса 115. Если кодированный индекс 115 и уплотненный XML-файл 120 сохраняются в виде единого элемента, то разделитель "[index_end]" также может указывать начало уплотненного XML-файла 120. Кроме того, некоторые из разделителей можно представить одинаковыми специализированными идентификаторами.
[0020] Как обсуждалось выше, в проиллюстрированном примерном индексе 110 теги, атрибуты и значения используют одинаковый диапазон индексов, и этот диапазон индексов начинается с известного значения. Следовательно, кодированному индексу 115 может быть не нужно идентифицировать значения индексов у тегов, атрибутов и ключей в кодированном индексе 115. Вместо этого эту информацию можно восстановить как часть процесса разуплотнения уплотненного XML-файла 120. В примерных реализациях, где тегам, атрибутам и значениям назначаются изменяющиеся индексы, эта информация также может храниться в кодированном индексе 115.
[0021] Чтобы создать уплотненный XML-файл 120, XML-файл 100 можно преобразовать в соответствии с индексом 110. Здесь XML-файл 100 преобразован, чтобы каждая пара символов (например, "T2") в уплотненном XML-файле 120 соответствовала определенному тегу, атрибуту или значению XML-файла 100. Это соответствие можно увидеть при изучении индекса 110. В частности, первый тег "<defaults>" идентифицируется как имеющий индекс 2 в индексе 110. Таким образом, первая T2 уплотненного XML-файла 120 соответствует первому тегу "<defaults>" в XML-файле 100, потому что это номер 2 тега (указанный с помощью T) в индексе 110. Аналогичным образом фраза "<spit frequency="6000" mode="thermal_mode"/>" со строки L03 XML-файла 100 соответствует части уплотненного XML-файла 120, которая считывает "T7 A2 V2 A1 V6 TE", что охватывает первую и вторую строки уплотненного XML-файла 120. Стоит отметить, что уплотненный XML-файл 120 и кодированный индекс 115 могут содержать больше или меньше символов в зависимости от того, как создаются эти элементы, включая дополнительные символы, которые могли бы подходить для ряда целей.
[0022] В этой примерной версии уплотненного XML-файла 120 используется специализированный символ, указывающий окончание тега. Этот символ, представленный в виде "TE", используется для указания приложению, интерпретирующему уплотненный XML-файл 120, что здесь следует закрыть последний открытый тег. В качестве иллюстрации самый последний "TE" в уплотненном XML-файле 120 соответствует окончанию тега "</defaults>" в строке L10 XML-файла 100. В различных примерах использование тега TE может быть желательным, потому что некоторые виды сжатия тем эффективнее, чем больше повторяется тех символов. Это также причина того, почему полезна сортировка индекса тега по частотности, так как повышенное использование одних и тех же индексов может дополнительно увеличить эффективность сжатия.
[0023] Следовательно, как только XML-файл 100 уплотнен в кодированный индекс 115 и уплотненный XML-файл 120, сочетание которых будет называться преобразованным файлом, преобразованный файл можно дополнительно уменьшить в размере путем применения методики сжатия. То, какая методика сжатия используется, может зависеть от того, как создаются кодированный индекс 115 и уплотненный XML-файл 120, так как создание этих элементов может быть задумано оптимальным для определенной методики сжатия данных.
[0024] Независимо от того, сжат ли дополнительно преобразованный файл, преобразованный файл можно сохранить в памяти предмета, с которым ассоциируется XML-файл 100. Одним примерным предметом, где может быть желателен этот тип уплотнения XML-файла 100, является печатающий контейнер, содержащий запас печатающего материала. Печатающий материал и/или печатающий контейнер могут быть спроектированы для работы с определенным типом принтера. Принтер может быть двумерным принтером, например настольным принтером, предназначенным для домашнего или офисного использования, промышленным принтером, который может выводить тысячи единиц в час, и так далее. Принтер также мог бы быть трехмерным принтером. Как упоминалось выше, эти методики, задействующие уплотнение XML-файлов, также могут применяться вне области печати.
[0025] В зависимости от типа принтера, с которым ассоциируется печатающий контейнер, печатающий материал может включать в себя чернила, тонер, моющую жидкость, строительный материал для 3D-принтера и так далее. Таким образом, в этом примере XML-файл 100 может содержать команды для принтера, в который устанавливается печатающий контейнер. Эти команды могут сообщать принтеру, как эффективно работать с использованием печатающего материала. Следовательно, эти команды могут относиться к очистке принтера, иному обслуживанию принтера, печати с использованием печатающего материала, и так далее. Таким образом принтеру можно сообщать и другую информацию (например, информацию о безопасности, общие обновления).
[0026] Как только печатающий контейнер устанавливается в принтер, тот принтер может извлечь преобразованный файл из памяти печатающего контейнера, а затем начать распаковку и разуплотнение преобразованного файла обратно в XML-файл 100. То, как распаковывается файл, будет зависеть от используемой методики сжатия. Разуплотнение преобразованного файла может работать противоположно созданию уплотненного XML-файла. Поскольку синтаксисы можно ограничить известным набором синтаксисов, XML-файл 100 можно воссоздать путем заполнения синтаксисов на основе определенного упорядочения тегов, атрибутов и значений в уплотненном XML-файле 120. После разуплотнения преобразованного файла обратно в XML-файл 100 принтер может использовать команды для выполнения функции, описанной XML-файлом 100 (например, очистка принтера, обслуживание принтера, печать с использованием материала в печатающем контейнере).
[0027] В некоторых примерах после распаковки и разуплотнения преобразованного файла обратно в XML-файл 100 принтер может объединить команды из XML-файла 100 с набором сохраненных команд. Эти сохраненные команды могут быть набором команд по умолчанию, который принтер может использовать независимо от того, какой печатающий материал устанавливается, пока не перезаписаны командой из XML-файла, например XML-файла 100.
[0028] Понятно, что в нижеследующем описании излагаются многочисленные характерные подробности для обеспечения всестороннего понимания примеров. Однако нужно понимать, что примеры могут быть применены на практике без ограничения этими характерными подробностями. В иных случаях способы и структуры могут не описываться подробно, чтобы избежать излишнего запутывания описания примеров. Также примеры могут использоваться совместно друг с другом.
[0029] При использовании в данном документе "модуль" включает в себя, но не ограничивается, аппаратные средства, микропрограммное обеспечение, программное обеспечение, сохраненное на машиночитаемом носителе или исполняемое на машине, и/или сочетания каждого для выполнения функции (функций) или действия (действий), и/или для вызова функции или действия из другого модуля, способа и/или системы. Модуль может включать в себя программное обеспечение, управляемое микропроцессором, дискретным модулем, аналоговой схемой, цифровой схемой, запрограммированным модульным устройством, запоминающим устройством, содержащим команды, и так далее. Модули могут включать в себя вентили, сочетания вентилей или другие компоненты схем. Там, где описывается несколько логических модулей, возможно объединить несколько логических модулей в один физический модуль. Аналогичным образом там, где описывается одиночный логический модуль, возможно распределить тот одиночный логический модуль между несколькими физическими модулями.
[0030] Фиг. 2 иллюстрирует примерный способ 200, ассоциированный с уплотнением XML-файла. Способ 200 можно воплотить в постоянном машиночитаемом носителе, хранящем исполняемые процессором команды. Команды при исполнении процессором могут побудить процессор выполнить способ 200. В других примерах способ 200 может существовать в логических вентилях и/или RAM специализированной интегральной схемы.
[0031] Способ 200 включает в себя формирование индексов из файла на расширяемом языке разметки (XML) на этапе 210. В различных примерах XML-файл может содержать команды, которые управляют работой принтера. XML-файл может содержать команды, которые управляют работой принтера на основе типа печатного материала в контейнере печатного материала (например, чернильном картридже). В качестве иллюстрации разные материалы могут воздействовать на компоненты принтера разными способами и могут вызывать разные потребности в техническом обслуживании у тех компонентов. Таким образом, XML-файл, ассоциированный с печатающим контейнером, хранящим конкретный печатающий материал, может быть способен управлять принтером для выполнения различных функций, включая функции технического обслуживания, подходящие для конкретного печатающего материала. XML-файл также может включать в себя другие команды, связанные, например, с очисткой принтера, обслуживанием принтера, печатью с использованием печатного материала и так далее.
[0032] Набор индексов может включать в себя несколько индексов, включающих в себя индекс тега, индекс атрибута и индекс значения. Индекс тега может индексировать термы тегов, используемые в XML-файле. Индекс атрибута может индексировать термы атрибутов в XML-файле. Индекс значения может индексировать термы значений в XML-файле. В некоторых примерах термы в индексе тега, индексе атрибута и индексе значения можно упорядочить в рамках их соответствующих индексов в соответствии с частотой термов в XML-файле. Упорядочение индексов в соответствии с частотностями может быть желательным, потому что некоторые методики сжатия добиваются больших степеней сжатия, когда повторяется больше термов. Следовательно, когда диапазоны индексов перекрываются, многократное использование этих индексов может помочь добиться больших степеней сжатия.
[0033] В различных примерах XML-файл может содержать команды, которые управляют работой принтера. XML-файл может содержать команды, которые управляют работой принтера на основе типа печатного материала в контейнере печатного материала (например, чернильном картридже). В качестве иллюстрации разные материалы могут воздействовать на компоненты принтера разными способами и могут вызывать разные потребности в техническом обслуживании у тех компонентов. Таким образом, XML-файл, ассоциированный с печатающим контейнером, хранящим конкретный печатающий материал, может быть способен управлять принтером для выполнения различных функций, включая функции технического обслуживания, подходящие для конкретного печатающего материала. XML-файл также может включать в себя другие команды, связанные, например, с очисткой принтера, обслуживанием принтера, печатью с использованием печатного материала и так далее.
[0034] Способ 200 также включает в себя уплотнение XML-файла в уплотненную версию XML-файла на этапе 220. Уплотненная версия XML-файла может уплотняться путем преобразования XML-файла в соответствии с индексами. В некоторых примерах XML-файл может использовать известное подмножество синтаксисов XML для упрощения создания индексов на этапе 210, уплотнения XML-файла на этапе 220 и возможного разуплотнения XML-файла позднее. Эти синтаксисы могут заранее отбираться, например, чтобы для любых двух заданных разных операторов XML уплотненная версия этих двух операторов была разной. Аналогичным образом синтаксисы также могут выбираться, чтобы для любых двух заданных разных уплотненных операторов разуплотненные версии этих операторов также были разными.
[0035] Способ 200 также включает в себя формирование преобразованного файла. Преобразованный файл может состоять из набора индексов, созданного на этапе 210, и уплотненной версии XML-файла, созданной на этапе 220. В качестве иллюстрации индексы и уплотненную версию XML-файла можно объединить в один файл, чтобы создать преобразованный файл.
[0036] Фиг. 3 иллюстрирует способ 300, ассоциированный с уплотнением XML-файла. Способ 300 включает в себя несколько действий, аналогичных описанным выше со ссылкой на способ 200 (фиг. 2). Например, способ 300 включает в себя формирование набора индексов из XML-файла на этапе 310, уплотнение XML-файла в уплотненную версию XML-файла на этапе 320 и формирование преобразованного файла, включающего в себя набор индексов и уплотненную версию XML-файла, на этапе 330.
[0037] Способ 300 также включает в себя сжатие преобразованного файла на этапе 340. Сжатие преобразованного файла может дополнительно уменьшить итоговый размер файла у преобразованного файла. Способ 300 также включает в себя сохранение преобразованного файла в памяти на этапе 350. В примере, где XML-файл содержит команды, которые управляют работой принтера совместно с печатным материалом, преобразованный файл можно сохранить в памяти контейнера печатного материала, который хранит запас печатного материала. Это может позволить принтеру конфигурироваться специально для использования ряда печатных материалов без необходимости хранить эту информацию в самом принтере. Это может быть желательно, например, при конфигурировании принтера для использования нового печатного материала, экономии пространства памяти в принтере и так далее.
[0038] Фиг. 4 иллюстрирует печатающий контейнер 400, ассоциированный с уплотнением файла на расширяемом языке разметки (XML). Печатающий контейнер 410 включает в себя запас печатающего материала 410. Печатающий материал 410 может быть, например, чернилами, моющей жидкостью и так далее. Печатающий контейнер 400 также включает в себя распределитель 420 печатающего материала. Распределитель 420 печатающего материала может принимать многие формы в зависимости от того, как спроектирован принтер, в который вставляется печатающий контейнер 400. Например, если принтер вытягивает печатающий материал 410 из печатающего контейнера 400 для выброса на печатные носители в другом местоположении, то распределитель 420 печатающего материала может взаимодействовать с механизмом принтера, который вытягивает печатающий материал 410 из печатающего контейнера 400. В качестве альтернативы, если печатающий контейнер является картриджем, спроектированным для непосредственного выброса печатающего материала 410 на печатные носители, то распределитель 420 печатающего материала может самостоятельно распределять печатающий материал 410.
[0039] Печатающий контейнер также включает в себя память 430. Память 430 включает в себя индекс 432 тега. Индекс 432 тега может содержать список термов тегов из файла на расширяемом языке разметки (XML). Термы тегов можно систематизировать в соответствии с частотой термов тегов в XML-файле. Память 430 также включает в себя индекс 434 атрибута. Индекс 434 атрибута может содержать список термов атрибутов из XML-файла. Термы атрибутов можно систематизировать в индекс 434 атрибута в соответствии с частотой термов атрибутов в XML-файле. Память 430 также включает в себя индекс 436 значения. Индекс 436 значения может содержать список термов значений из XML-файла. Термы значений можно систематизировать в индекс 436 значения в соответствии с частотой термов значений в XML-файле.
[0040] Память 430 также включает в себя уплотненный XML-файл 438. Уплотненную версию XML-файла 438 можно создать путем преобразования XML-файла в соответствии с индексом тега, индексом атрибута и индексом значения. В некоторых примерах индекс 432 тега, индекс 434 атрибута, индекс 436 значения и уплотненный XML-файл 438 можно сохранить в памяти 430 в сжатом формате. В различных примерах принтер, в который вставляется печатающий контейнер 400, может использовать индекс тега, индекс атрибута, индекс значения и уплотненную версию XML-файла для воссоздания XML-файла. Следовательно, воссозданный XML-файл может управлять работой принтера совместно с одним или несколькими из печатающего материала 410, печатающего контейнера 400, распределителя 420 печатающего материала и так далее.
[0041] Фиг. 5 иллюстрирует принтер 500, ассоциированный с уплотнением файла на расширяемом языке разметки (XML). Принтер 500 включает в себя корпус 510. Корпус 510 может вмещать печатающий контейнер 599 с запасом печатающего материала. Печатающий материал может быть, например, чернилами, тонером, моющей жидкостью и так далее.
[0042] Принтер 500 также включает в себя модуль 520 связи. Модуль 520 связи может получать набор индексов и уплотненный XML-файл из печатающего контейнера 599. Уплотненный XML-файл может быть создан из набора индексов, а также исходного XML-файла, который не хранится в печатающем контейнере 599. В различных примерах модуль 520 связи может извлекать набор индексов и уплотненный XML-файл из памяти печатающего контейнера 599. Следовательно, в этом примере корпус 510 и печатающий контейнер 599 могут содержать подходящие электронные соединения для упрощения связи между модулем 520 связи и памятью печатающего контейнера 599.
[0043] Принтер 500 также включает в себя модуль 530 извлечения. Модуль 530 извлечения может формировать разуплотненный XML-файл. Разуплотненный XML-файл может формироваться путем преобразования уплотненного XML-файла в соответствии с набором индексов.
[0044] Принтер 500 также включает в себя модуль 540 управления. Модуль 540 управления может управлять работой принтера 500 в соответствии с командами, извлеченными из разуплотненного XML-файла. В различных примерах модуль 540 управления может управлять одним или несколькими из очистки компонента принтера, обслуживания компонента принтера, печати с использованием печатающего материала, содержащегося в печатающем контейнере 599, и так далее.
[0045] Фиг. 6 иллюстрирует принтер 600, ассоциированный с уплотнением XML-файла. Принтер 600 включает в себя несколько элементов, аналогичных описанным выше со ссылкой на принтер 500. Например, принтер 600 включает в себя корпус 610 для вмещения печатающего контейнера 699 с запасом печатающего материала, модуль 620 связи, модуль 630 извлечения и модуль 640 управления.
[0046] Принтер 600 также включает в себя модуль 650 распаковки. Модуль 650 распаковки может распаковать набор индексов и уплотненный XML-файл. Распаковка уплотненного XML-файла и индексов может выполняться, когда эти элементы хранятся в памяти печатающего контейнера 699 в сжатом формате, чтобы дополнительно уменьшить объем данных, хранимых в печатающем контейнере 699.
[0047] Принтер 600 также включает в себя память 660. Память 660 может хранить набор команд по умолчанию. Следовательно, модуль 640 управления может управлять работой принтера в соответствии с командами, извлеченными из разуплотненного XML-файла, когда разуплотненный XML-файл изменяет команды по умолчанию. Как обсуждалось выше, работа принтера может относиться к очистке принтера, обслуживанию принтера, печати с использованием печатающего материала и так далее.
[0048] Фиг. 7 иллюстрирует примерный компьютер, на котором могут работать примерные системы, способы и эквиваленты. Примерный компьютер может включать в себя такие компоненты, как процессор 710 и запоминающее устройство 720, соединенные с помощью шины 730. Компьютер 700 также включает в себя модуль 740 уплотнения XML-файла. Модуль 740 уплотнения XML-файла может выполнять по одной либо в сочетании различные функции, описанные выше со ссылкой на примерные системы, способы, устройства и так далее. В разных примерах модуль 740 уплотнения XML-файла можно реализовать в виде постоянного машиночитаемого носителя, хранящего исполняемые процессором команды, в аппаратных средствах, программном обеспечении, микропрограммном обеспечении, специализированной интегральной схеме и/или сочетаниях этого.
[0049] Команды также могут представляться компьютеру 700 в виде данных 750 и/или процесса 760, которые временно хранятся в запоминающем устройстве 720, а затем исполняются процессором 710. Процессор 710 может быть различными процессорами, включая сдвоенный микропроцессор и другие многопроцессорные архитектуры. Запоминающее устройство 720 может включать в себя энергонезависимое запоминающее устройство (например, постоянное запоминающее устройство) и/или энергозависимое запоминающее устройство (например, оперативное запоминающее устройство). Запоминающее устройство 720 также может быть, например, накопителем на магнитных дисках, твердотельным накопителем, накопителем на гибких дисках, ленточным накопителем, картой флэш-памяти, оптическим диском и так далее. Таким образом, запоминающее устройство 720 может хранить процесс 760 и/или данные 750. Компьютер 700 также может ассоциироваться с другими устройствами, включая компьютеры, принтеры, периферийное оборудование и так далее, в многочисленных конфигурациях (не показаны).
[0050] Понятно, что предшествующее описание раскрытых примеров предоставляется, чтобы дать возможность любому специалисту в данной области техники создать или использовать настоящее раскрытие изобретения. Различные модификации к этим примерам будут полностью очевидны специалистам в данной области техники, а общие принципы, определенные в этом документе, могут быть применены к другим примерам без отклонения от сущности или объема раскрытия изобретения. Таким образом, настоящее раскрытие изобретение не предназначено, чтобы ограничиваться показанными в этом документе примерами, а должно соответствовать самому широкому объему, который согласуется с принципами и новыми признаками, раскрытыми в этом документе.