Hopefully a structured tool (like an XML editor) is used for authoring. The tool reads the DTD/schema of the XML content type the user is working with and makes sure that the XML content is always kept valid according to the schema. It means for example that the editor always knows what elements are allowed to insert into the current context. It guides and controls the user.
XML editors can also show an outline, the always up-to-date structure of the document.
Editors can bind styles to the structure. When the user inserts new XML elements, the editor automatically applies the style from the style sheet. In this case style information is not stored in the XML instance directly, not in a “template” neither, but as a separate style sheet file, which is bound to the schema (not to the document). This isolation is very important, because it’s convenient to the user and also provides high level of flexibility in publishing.
So the schema
- guides the author controlling the structure of the document
- automatically adds styling, so the user works WYSIWYG
This is very efficient: the author can focus on the content, won’t even have to think about shaping the layout.
Several stylesheet files can be made for one schema, so the same document can be easily formatted to different purpose without having to change the XML content.