Структура капучино plist - PullRequest
1 голос
/ 11 июня 2010

Вопрос в том, знает ли кто-нибудь, какова структура plist-файлов (type-2) в Cappuccino?

В Cappuccino широко используется plist-файлы.

Некоторые, такие как info.plist (type-1), следуют узнаваемой структуре.Это хорошо, я могу понять их.

<plist version="1.0">
<dict>
<key>CPApplicationDelegateClass</key>
<string>DocumentController</string>
<key>CPBundleDocumentTypes</key>
<array>
<dict> ..... etc

Однако другие (тип-2), которые используются для импорта данных, импорта файлов pptx в и из приложения слайдов, и я верю, что Atlas инструмент разработки делаетне.

У них есть такая структура

280NPLIST;1.0;D;K;4;$topD;K;23;DocumentPresentationKeyD;K;6;CP$UIDd;1;1E;E;K;8;$objectsA;S;5;$nullD;K;6;$classD;K;6;CP$UIDd;1;2E;K;23;SKPresentationSlideSizeD;K;6;CP$UIDd;1;3E;K;23;SKPresentationNotesSizeD;K;6;CP$UIDd;1;4E;K;20;SKPresentationSlidesD;K;6;CP$UIDd;1;5E;K;26;SKPresentationSlideMastersD;K;6;CP$UIDd;1;7E;K;19;SKPresentationThemeD;K;6;CP$UIDd;1;8E;E;D;K;10;$classnameS;14;

, которая, кажется, идет одной строкой независимо от размера (у меня была одна сегодня с более чем 1,3 миллиона символов.

Некоторая структура связана с подсчетом символов, но у меня было то, что похоже на действительные файлы, которые выходят из строя, а те, которые выглядят сомнительными, нет.

Я подозреваю, что только что задал вопрос значку Tumbleweed, нопоскольку у меня уже есть один, это не имеет значения.

Ответы [ 2 ]

4 голосов
/ 11 июня 2010

Я могу только догадываться, что такое значок Tumbleweed, но давайте посмотрим, сможем ли мы этого избежать. Файл, который вы просматриваете, представляет собой '280 North format Plist', специальный формат plist, оптимизированный для использования в приложениях для капучино. Если вы хотите покопаться в нем, вы можете использовать инструмент cplutil и преобразовать его в обычный XML-лист.

cplutil -convert xml1 -o Info3.plist Info1.plist

Ницца Панорама имеет больше информации .

3 голосов
/ 13 июня 2010

Чтобы ответить на ваш вопрос о фактической структуре plist, он в некоторой степени похож на netstrings (http://cr.yp.to/proto/netstrings.txt). Содержание, конечно же, совпадает с XML plist.

Формат начинается с магической строки (и версии), чтобы определить тип списка для чтения. Затем следуют константы для нескольких типов plist (d-> dictionary, k-> key и т. Д.), Длина элемента, а затем сам элемент. Эти разделы разделены точкой с запятой.

Итак, если мы посмотрим только на первую часть того, что вы опубликовали:

280NPLIST;1.0; это говорит нам о формате, и что это версия 1.0

D; первая запись - это словарь, в котором всегда есть ключ, а затем объект

K;4;$top первым элементом в словаре является первый ключ длиной 4

D;K;23;DocumentPresentationKey Самым связанным значением является словарь, длина первого ключа которого составляет 23 символа

и т.д.

Формат был разработан, чтобы упростить чтение только частей документа без необходимости разбора всего списка.

...