We’ve been working on a number of changes to Document Structure that are coming the XPS Specification v0.8 and we wanted to give this audience a sneak peak. As always, questions to email@example.com are welcome.
Based on feedback on v0.75, we’ve decided to simplify markup for the DocumentStructure part somewhat, as well as make a couple small changes to how document outlines work. There are no planned changes to the StoryFragments part in this release.
The primary changes involve changing the element hierarchy. We’ve added a <DocumentStructure.Outline> element as an immediate child of the <DocumentStructure> element and an immediate parent of the <DocumentOutline> element. This brings the markup into sync with the design of other fixed document markup. In addition, we have removed the <DocumentContent>, <Stories>, and <StoryFragmentReferences> elements, collapsing the hierarchy such that the <Story> element is now a direct child of the <DocumentStructure> root element.
For document outlines, we’ve renamed the LinkTarget attribute to OutlineTarget and now require this to be a URI addressing a location either within the document or external to the document, such as a website. In this way, the document outline may be used in either a table of contents style or a bookmarks style. We’ve also added the planned xml:lang attribute to both <DocumentOutline> (required) and <OutlineEntry> (optional) to describe the language of text in the Description attribute of <OutlineEntry> elements.
The markup now appears as in the following example:
<OutlineEntry OutlineLevel=”1″ Description=”Chapter 1″
<OutlineEntry OutlineLevel=”1″ Description=”Appendices”
OutlineTarget=”http://www.microsoft.com/xps” xml:lang=”en-UK” />
In addition, we discovered an error in the namespaces for both the DocumentStructure and StoryFragments parts in Appendix H of the specification. In both cases, these are being changed to correctly read http://schemas.microsoft.com/xps/2005/06/documentstructure.