tell application "System Events"
-- create an empty property list dictionary item
set the parent_dictionary to make new property list item with properties {kind:record}
-- create new property list file using the empty dictionary list item as contents
set the plistfile_path to "~/Desktop/example.plist"
set pl to make new property list file with properties {contents:parent_dictionary, name:plistfile_path}
-- add the values to plist
tell pl
-- create a text entry
make new property list item at end with properties {kind:string, name:"testtext", value:"This is some text"}
-- create a truth value entry
make new property list item at end with properties {kind:boolean, name:"testbool", value:true}
-- create an integer entry
make new property list item at end with properties {kind:number, name:"testinteger", value:250}
-- create a float / real entry
make new property list item at end with properties {kind:number, name:"testfloat", value:123.456789}
-- create an empty dictionary
set r to make new property list item at end with properties {kind:record, name:"testdictionary"}
-- fill that dictionary
tell r
-- some string whith non ASCII characters
make new property list item at end with properties {kind:string, name:"danish_island", value:"XY"}
-- some date entry
make new property list item at end with properties {kind:date, name:"now", value:current date}
-- create an array (or list)
make new property list item at end with properties {kind:list, name:"testarray", value:{123, "abc", 100}}
end tell
end tell
end tell
(*another example to write an plist-file*)
set plistfile_path to "~/Desktop/example_2.plist"
set the_record to {testbool:true, testinteger:250, testdictionary:{danish_island:"XY", now:date "Donnerstag, 16. Juni 2011 14:38:04", testarray:{123, "abc", 100}}, testtext:"This is some text", testfloat:123.456789}
tell application "System Events"
set the parent_dictionary to make new property list item with properties {kind:record, value:the_record}
set pl to make new property list file with properties {contents:parent_dictionary, name:plistfile_path}
end tell