Property list


Property list

Infobox file format
name = Property List
extension = .plist
mime =
owner = Apple Computer and GNUstep, formerly NeXT
creatorcode =
genre = Serialization of dictionary objects.
containerfor =
containedby =
extendedfrom =
extendedto =
In the Mac OS X Cocoa, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as plist files. Property lists are parsed with the NSPropertyListSerialization class. A property list file can only contain Core Foundation or Foundation Kit objects, as the library does not know how to serialize any other type of object.

In practical terms they are often used to store a user's settings. They are also used to store information about bundles and applications, a task served by the resource fork in the old Mac OS.

Representations

Since the data represented by property lists is somewhat abstract, the underlying file format can be implemented many ways. Namely, NeXTSTEP used one format to represent a property list, and the subsequent GNUstep and Mac OS X frameworks introduced differing formats.

NeXTSTEP

Under NeXTSTEP, property lists were designed to be human readable and edited by hand, serialized to ASCII in a syntax somewhat like a programming language.

Strings were represented as: "This is a plist string"Binary data was represented as: < " [hexadecimal codes in ASCII] " >Arrays were represented as: ( "1", "2", "3" )And dictionaries were represented as: { "key" = "value"; ... }

One limitation of the original NeXT property list format is that it could not represent an NSValue (number, boolean, etc) object.

GNUstep

GNUstep adopts the NeXTSTEP format, with a few additions. First, it now supports NSValue objects (which are represented as plain ASCII), and second, it supports NSDate objects (which are serialized as <*DYYYY-MM-DD HH:MM:SS timezone>)

GNUstep can also read and write property lists in the formats used by Mac OS X.

Mac OS X

While the Mac OS can also read the NeXTSTEP format, Apple sets it aside in favor of two new formats of its own.

In Mac OS 10.0, the NeXTSTEP format was deprecated, and a new XML format was introduced, with a public DTD defined by Apple. The XML format supports non-ASCII characters and storing NSValue objects (which, unlike GNUstep's ASCII property list format, Apple's ASCII property list format does not support).

Since XML files, however, are not the most space-efficient means of storage, version 10.2 introduced a new format where property list files are stored as binary files. Starting with version 10.4, this is the default format for preference files.

The plutil utility (introduced in version 10.2) can be used to check the syntax of property lists, or convert a property list file from one format to another.

XML property lists are hand-editable in any text editor, but Apple provides a "Property List Editor" application as part of their Developer Tools installation that provides a hierarchical viewer/editor which can also handle binary formatted plists.

For the XML format, the tags, related Foundation classes and CoreFoundation types, and data storage formats are as follows:

The defaults utility can be used to manipulate plist files used for storage of preferences (also known before OS X as "defaults", hence the name) on the command line via their preferences domain, whereas Property List Editor (part of the SDK) can be used to edit any plist file (including those used for preferences). As of OS X 10.4, Apple provides an AppleScript interface for reading property list files through the System Events application. As of OS X 10.5, Apple now provides an AppleScript interface for [http://www.apple.com/applescript/features/propertylists.html editing, creating and writing property list files] as well.

External links

* [http://developer.apple.com/documentation/Darwin/Reference/ManPages/man5/plist.5.html The plist manual page] at developer.apple.com
* [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/index.html#//apple_ref/doc/uid/10000048i Property List Programming Guide for Cocoa]
* [http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFPropertyLists/CFPropertyLists.html Property List Programming Topics for Core Foundation]
* [http://www.gnustep.org/resources/documentation/Developer/Base/Reference/NSPropertyList.html NSPropertyListSerialization class documentation] from the GNUstep project
* [http://docs.sun.com/app/docs/doc/802-2112/6i63mn65o?a=view OpenStep plist API] from Sun Microsystems
* [http://jakarta.apache.org/commons/configuration Jakarta Commons Configuration] Configuration API in Java supporting the Property List format

Third party editing tools

* [http://rixstep.com/acp/plistedit PlistEdit] , a general property list editor
* [http://www.fatcatsoftware.com/plisteditpro PlistEdit Pro] , a general property list editor
* [http://www.bresink.com/osx/PrefEdit.html PrefEdit] , specializing in editing preference plists
* [http://www.latenightsw.com/freeware/PListTools/index.html Property List Tools] , an Applescript scripting addition for manipulating plists


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Property List — Vorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Standard fehltVorlage:Infobox Dateiformat/Wartung/Website fehlt Property List Dateiendung: .plist MIME Type: application/x plist …   Deutsch Wikipedia

  • Property List Editor — Développeur Apple Dernière version …   Wikipédia en Français

  • List of terms relating to algorithms and data structures — The [http://www.nist.gov/dads/ NIST Dictionary of Algorithms and Data Structures] is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data… …   Wikipedia

  • List of California ballot propositions 1980–1989 — List of California ballot propositions: 1980 1989See also: List of California ballot propositions 1970 1979, List of California ballot propositions 1990 1999ElectionsJune 3, 1980*1 Failed Parklands And Renewable Resources Investment Program. *2… …   Wikipedia

  • List of British Jews — is a list that includes Jewish people from the United Kingdom and its predecessor states.Although the first Jews may have arrived on the island of Great Britain with the Romans, it wasn t until the Norman Conquest of William the Conqueror in 1066 …   Wikipedia

  • List of California ballot propositions 1970–1979 — List of California ballot propositions: 1970 1979See also: List of California ballot propositions 1960 1969, List of California ballot propositions 1980 1989ElectionsJune 2, 1970*1 Failed University Of California Health Science Facilities. *2… …   Wikipedia

  • List of California ballot propositions 1990–1999 — List of California ballot propositions: 1990 1999See also: List of California ballot propositions 1980 1989, List of California ballot propositions 2000–2009ElectionsJune 5, 1990*107 Passed Housing And Homeless Bond Act Of 1990. *108 Passed… …   Wikipedia

  • List of National Historic Landmarks in Alabama — …   Wikipedia

  • List of National Historic Landmarks in Oregon — …   Wikipedia

  • property register — ➔ register1 * * * property register UK US noun [C] PROPERTY ► in the UK, an official list containing details about land or buildings, kept by the land registry: »The property register gives the geographical location and the extent of the… …   Financial and business terms