Skip to main content

Search 400 pages — tools, formats, elements, namespaces, directory, comparisons, XPath, datatypes, glossary, parse errors, schema errors, use cases, guides, blog and product.

XML format

Property list

Apple's XML serialization for dictionaries, arrays, strings, numbers, dates, data, and booleans under a versioned <plist> wrapper.

An XML property list serializes a small fixed set of value types. Dictionaries alternate <key> elements with values; arrays contain values directly; booleans are empty <true/> and <false/> elements.

The same .plist extension can contain Apple's binary property-list encoding, so sniff the bytes before assuming XML. XML plists commonly include the public DTD but do not use an XML namespace.

Constraints that bite

  • The <plist version="1.0"> wrapper contains exactly one root value.
  • Every <key> inside a <dict> must be followed by exactly one value element.
  • Dates use UTC ISO 8601 form and <data> contains Base64 text.
  • The .plist extension does not distinguish XML from binary property lists.
Root element
<plist>
Media type
application/x-plist
Extensions
.plist
Namespaces
None — unqualified elements
XMLDir label
xml

Specification: Apple Property List Programming Guide

A minimal valid document

Every example on this site is checked against the same parser the workspace uses, so what you see below is known to be well-formed.

property-list.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>name</key><string>Catalog</string>
  </dict>
</plist>

Get started

Bring order to the XML your team can't afford to ignore.

Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.