Take it a step further though. PCProfiler does more than just use HTML as a language to render templates, the program is actually based off Microsoft Internet Explorer technology. Need to get fancy with your template? How about specific style definitions with CSS, or event handling through scripting. Ever use JavaScript in a webpage? You can use it in PCProfiler. But don't stop there, since we're working with an Explorer based technology, any of the Microsoft extentions to the HTML DOM, as well as other scripting languages like VBScript can be used too. With some solid HTML and scripting code, you can do alot with a PCProfiler template.
An HTML form is the basic unit of data entry on the web. Any time you fill out information when registering for a community forum, or enter your shipping information for an online purchase, you're dealing with a form element. A form can contain a small selection of elements which act as editable controls on an internet page. Things like text boxes, buttons, checkboxes, etc.
When you save a document in PCProfiler, the engine searches the entire document for specific target elements, records the value that you've entered, and saves it to disk. Similarly, when you open an existing character, PCProfiler first renders the base (empty) template that your character is drawn to, then the program fills in all the values that you had when you last saved your document.
The data that PCProfiler keeps is completely independent of the template that your data is drawn to. This may seem to be a mundane fact, but it is actually very important, and a very powerful feature that template designers can take advantage of. More on that later.
So, what are these target elements that PCProfiler scans for data?
Do you see how you can design a template to be compatible with existing ones? Let's say you want to make your own 3ED&D character sheet. If you try using inputs (type=text) by the name of Race, Class, Level in your template, you'll notice something cool. Open an existing character sheet drawn on the 3ED&D General Extended template, then switch to your new template. What happens? The Race, Class, and Level information on your new sheet is already filled out! Why? Because the 3ED&D General Extended template already has elements by the name of Race, Class, and Level. The data for the document is independent of the template. When you switched to the new template, PCProfiler found elements whose names matched existing data, so their values were filled in. This means, you can switch to different templates, and your data will be persistent. All that will change is how everything looks!
This also means that you can have completely different templates with seperate data. That's the case when comparing the 3ED&D General Extended template to the 3ED&D Spell Sheet. No data is shared betwen the two templates. Each has unique names for all of its elements. Whenever you switch to the other template, that template's data is drawn. The data from the other template still exists, but its not shown. So, all your data is there, you just choose which parts of it you want to see by choosing which template to draw over.