www.wikidata.de-de.nina.az
Eine Property List dt Liste von Eigenschaften umgangssprachlich auch plist Datei P List ausgesprochen oder Property Liste dient dazu Daten strukturiert abzulegen Technisch geschieht dies durch die Serialisierung von assoziativen Datenfeldern englisch auch dictionaries In der Regel tragen solche Dateien die Endung plist im Dateinamen Property ListDateiendung plistMIME Type application x plistEntwickelt von NeXT und AppleArt Dateiformat zur Serialisierung assoziativer Arrays Dictionaries Das Property List Format wurde seinerzeit fur NeXTStep entwickelt und in macOS iOS und Co ubernommen auch in GNUstep dem freien OpenStep bzw Cocoa Nachbau kommen sie zum Einsatz Inhaltsverzeichnis 1 Funktionen 2 Geschichte 3 Darstellung 3 1 NeXTStep 3 2 GNUstep 3 3 macOS 4 Weblinks 4 1 Editoren 5 EinzelnachweiseFunktionen BearbeitenSie eignen sich besonders dafur serialisierte Objekte bzw Eigenschaften properties einer Klasse aufzunehmen Das Format unterscheidet die Datentypen Data String Date Integer und Float sowie Arrays und Dictionaries 1 Die beiden heute gultigen plist Formate sind auf XML Basis beziehungsweise binar Sie werden vom System gleichermassen unterstutzt sind zueinander kompatibel und konnen ineinander konvertiert werden Die Dateien werden haufig genutzt um Einstellungen des Benutzers zu speichern Weiterhin besitzt jedes Application Bundle mindestens eine Datei namens Info plist in der Informationen uber das Bundle enthalten sind Geschichte BearbeitenIn NeXTStep wurde ein Dateiformat zur Serialisierung assoziativer Arrays im Grunde verschachtelte Werte die einen Namen fur die Zuweisung oder eine ID haben eingefuhrt Entwickler konnten so einfach z B Einstellungen oder Informationen abspeichern und auslesen Da macOS ein Nachfahre von NeXTStep ist ubernahm es auch das plist Datenformat Apple erklarte damals das bisherige plist Format von NeXTStep als ungultig und fuhrte ein neues auf der Basis von XML ein das den Funktionsumfang seines Vorgangers ubernahm und gleichzeitig neue Datentypen hinzufugte GNUstep eine freie Implementierung von OpenStep bzw Cocoa ubernahm das alte Format aus Grunden der Kompatibilitat und erweiterte es um zwei Datentypen Darstellung BearbeitenDa die Daten die in diesen Dateien gespeichert werden konnen sehr abstrakt sind lassen sie sich auf vielfaltige Art und Weise speichern Im Lauf der Zeit hat sich das Format der Dateien verandert so nutzte NeXTStep ein anderes Format als macOS und GNUstep dies tun NeXTStep Bearbeiten Die plist Dateien unter NeXTStep waren darauf ausgelegt von Menschen lesbar und von Hand veranderbar zu sein deswegen wurden sie als ASCII serialisiert Die Datentypen wurden so dargestellt Datentyp DarstellungStrings Ein Beispiel String Binardaten lt Hexadezimal Code in ASCII gt Arrays 1 2 3 Dictionaries assoziative Arrays key value Ein Nachteil dieses Formates war dass keine NSValue Zahl Boolean usw gespeichert werden konnten GNUstep Bearbeiten GNUstep ubernahm das plist Format von NeXTStep nahm aber einige Anderungen vor Zum einen wurden NSValues unterstutzt dargestellt als ASCII zum anderen wurde der neue Datentyp NSDate hinzugefugt Darstellung lt DYYYY MM DD HH MM SS timezone gt Damit war es nun moglich auch das Datum in einer Property List zu speichern Weiterhin kann GNUstep das plist Format von macOS lesen und schreiben 2 macOS Bearbeiten Zwar kann macOS das alte NeXTStep Format noch immer lesen aber bei seiner Einfuhrung damals Mac OS X 10 0 wurde das NeXTStep Format als veraltet deklariert und ein neues auf XML basierendes plist Format eingefuhrt Apple veroffentlichte dafur eine Dokumenttypdefinition 3 Da XML Dateien zwar von Menschen lesbar aber dadurch sehr speicherineffizient sind wurde mit Mac OS X 10 2 ein neues binares plist Format eingefuhrt Die beiden Formate sind kompatibel und konnen mit plutil 4 umgewandelt werden XML plist Dateien konnen grundsatzlich per Hand bearbeitet werden Da dies aber ab einer gewissen Komplexitat ein muhevolles Unterfangen ist lieferte Apple mit dem Xcode Paket bis Version 3 2 den Property List Editor mit aus Ab Xcode 4 0 ist der Editor in die Xcode IDE Integrierte Entwicklungsumgebung integriert Des Weiteren ist es moglich mittels AppleScript durch Aufrufen von defaults ebenfalls plist Dateien zu lesen und zu schreiben Ab Mac OS X Lion bietet plutil auch die Moglichkeit plist Dateien in JSON umzuwandeln und umgekehrt Das Kommandozeilen Tool defaults 5 war ursprunglich dafur gedacht Einstellungen von Programmen uber die Shell andern zu konnen Da diese Dateien jedoch in aller Regel plist Dateien sind lassen sich mit dem Tool auch beliebige plist Dateien verandern Im Laufe der Zeit haben Entwickler fur die verschiedensten Programmiersprachen plist Editoren und Bibliotheken entwickelt die plist Dateien serialisieren und in Datentypen der jeweiligen Sprache konvertieren konnen In plist Dateien im XML Format sind fur die folgenden Datentypen und die zugehorigen Cocoa und Core Foundation Typen die folgenden Tags gultig Datentyp XML Tag Cocoa Typ 6 CoreFoundation Typ 7 UTF 8 kodierte Zeichenkette lt string gt NSString CFStringDezimalzahlen als String lt real gt oder lt integer gt NSNumber CFNumberBoolean wahr falsch lt true gt oder lt false gt NSNumber CFBooleanString ISO 8601 formatiert lt date gt NSDate CFDateBase64 kodierte Daten lt data gt NSData CFDataArray kann beliebig viele Unterelemente aufnehmen lt array gt NSArray CFArrayAssoziatives Array dictionary abwechselnd lt key gt Tags und plist Elemente lt dict gt NSDictionary CFDictionaryWeblinks BearbeitenEditoren Bearbeiten plist Editor fur Windows Editor fur Windows Freeware Die folgenden Bibliotheken konnen alle XML und Binar plist Dateien lesen und schreiben PlistCpp Cross platform Bibliothek in C MIT Lizenz PlistCS C Bibliothek MIT Lizenz cfpropertylist for Ruby Ruby Bibliothek Ruby Lizenz CFPropertyList for PHP PHP Bibliothek MIT Lizenz Property List Library Java Bibliothek LGPL Lizenz com dd plist Java Bibliothek MIT LizenzEinzelnachweise Bearbeiten Hauser Dominik Rodewig Klaus M 1971 Galileo Press Apps programmieren mit Swift 2 aktualisierte Auflage Bonn ISBN 978 3 8362 6068 8 NSPropertyListSerialization class documentation plist DTD Abgerufen am 13 November 2011 The plist 5 manual page auf developer apple com Abgerufen am 13 November 2011 The defaults 1 manual page auf developer apple com Abgerufen am 13 November 2011 Property List Programming Guide for Cocoa Abgerufen am 13 November 2011 Property List Programming Topics for Core Foundation Abgerufen am 11 November 2011 Abgerufen von https de wikipedia org w index php title Property List amp oldid 237737442