How does Silex currently store and edit the content data for a site? Can I use external tools in order to edit content?
Silex uses XML to store the pages data, here is the XML format specifications.
But this data is the « presentation » in fact. It is generated by the WYSIWYG admin interface, and stores all the positions, colors, properties, etc. of the media. In Silex you can also display « dynamic » data, which comes from an external data source, such as RSS feed, data base / webservice, XML file, … In this case, only the URL of the data source is in the page XML. And a component called a « connector » has to be used, e.g. XMLConnector, RSSConnector, XLSConnector, … And only the configuration of the connector ends in the page XML.
So what we call « dynamic » in Silex is the data coming from external source and « static » is the data contained in Silex page XML. The dynamic data is imported at runtime, it is stored by a connector in a dataProvider, i.e. an array. And it can be manipulated through a list component, such as a RichTextList, a CoverFlow, a ComboBox, a SimpleMenu, … or any custom component implementing the iListBase interface. After the user has selected an item in the list, the data is available in the form of accessors. Accessors is a concept made for designers, so that they use variables and actions without coding skills. For example we can use something like <<title>> to access the title node of the selected item. Or we have a DataContainer component if there are several connectors and possible selections. Then the data is accessed with <<myDataContainer.title>>.
This is a rough introduction, and the french documentation ( http://community.silexlabs.org/silex/aide/ ) is being translated this month ( https://www.silexlabs.org/ )