ZedAI Iteration1 Report
From zedwiki
Summary
This is the report from ZedAI WG Iteration 1.
The iteration time span was 3 November 2008 - 19 December 2008. Iteration deliverables were defined in the Iteration 0 report.
Deliverables Report
Simple Book Profile, first full draft
A first draft of a Simple Book Profile has been defined. Schemas and documentation can be downloaded from zednext.googlecode.com (the file name is zednext-iteration-1.zip).
This profile is geared towards markup of material with a simple structure, such as novels, children's books, non-complicated text books, some types of manuals, etc.
The profile offers grammar for markup of things like
- sections and section headings
- page breaks
- various types of lists
- tables
- various types of notes
- book cover
- etc, check out the included documentation for details on the current element set.
This profile is not designed to meet the requirements for markup of more complicated text books, reference books, science etc. Such books should be handled by a more advanced profile, not yet defined, but likely to build on the Simple Book Profile.
Still unresolved content model issues
Although the profile delivered in this iteration does provide a full schema and a full document model, there are several identified issues that are not resolved, including:
- some content models are known to be too loose
- the frontmatter content model is pending expansion in terms of dedicated elements
- the role framework is not yet explicitly integrated (book-related roles are not enumerated in the schema)
- an explicit model for metadata is not yet integrated
- attribution (pertaining particularly to frontmatter's author, editor, publisher, copyright holder, contributor, etc) is still not defined in a satisfactory way.
Schemas
A large part of the teams work during this iteration, apart from coming up with the initial content model for the simple book profile, has been about defining an architectural approach to integrating with the XHTML2 schemas upon which the profile builds. The integration pattern used is not yet completely stable, but can still be reviewed at the Google Code Repository, or in the zip provided in the downlads section. (The schema filename is z3986a-simplebook.rng, which references schema modules available in the mod subdirectory.)
The group also put together a build system which intends to automate as much as possible of the schema, documentation etc generation. This build system also outputs a WXS schema from the RelaxNG source. The validity of the WXS remains to be confirmed. (WXS is the same thing as XSD, but Ole gets grumpy if we call it XSD. XSD is the same thing as W3C XML Schema.)
A very minimalistic sample document that validates to the simplebook schema can be found at the samples directory of the source repository.
Schema Documentation
A first version of autogenerated schema documentation for profiles is provided in the /schemadoc/ subdirectory of the zip file. This documentation primarily contains technical element and attribute information, as well as descriptions of allowed content models. The work to include human-oriented descriptions on usage is available only in prototypical form (check out the d:pagebreak element for example).
RDDL sample
The zip file also contains a sample of a Resource Directory (also known as RDDL). The intent of a Resource Directory is to serve as the centre point for retrieval of normative and informative resources associated with a profile. A RDDL document is both human and machine readable. (The file name is z3986a-simplebook.html.)
Periodicals Profile research and prototyping
This report is available in the separate document ZedAI_Periodicals_Iteration1
RDF Taxonomy for print republishing
This report is available in the separate document ZedAI_Roles_Iteration1
ZedAI Profile Composition Guidelines and Conformance Requirements (first draft)
The composition process description and profile conformance requirements are still being drafted, and will be included in the first version of the specification document, which is a deliverable for iteration 2.
Risk analysis
XHTML2 Dependency
The W3C XHTML2 WG has published a new roadmap for XHTML2, which coincides well temporarily with the ZedNext revision calendar.
Last Call : 2009-03
CR : 2009-09
PR : 2009-12
REC : 2010-03
Further, DAISY has now joined the XHTML2 WG, with the intention of providing input and suggestions from our community through the remainder of the process.
Risk level: low
Complexity of RDF
The integration of RDF into the ZedAI framework brings with it the risk of introducing complexity that poses a potential threat to the intended ease-of-use for spec implementors.
The ZedAI WG is determined to assure that RDF is not integrated in a way that introduces complexity:
- The primary use of RDF - the Role framework - has been designed by W3C with the intent of enabling the power of RDF without requiring processors and user agents to be RDF aware. We inherit this highly desirable property.
- When it comes to other uses of RDF than Role, the ZedAI spec will not require processors to be RDF aware; RDF discovery will be an optional layer of functionality that implementors can choose to support, or not.
Risk level: low
Resolved Items from Iteration 0 Issue Log
- 0-1 Instance Profile Declaration [Category - Framework]
- The method used is the one specified by the XHTML2 Metadata Module; /head/link[@rel='profile']/@href="identityURI"
- 0-3 Always NVDL? [Category - Schemas]
- The framework will not require NVDL to be used exclusively, but it will allow NVDL to be used when declaring a document model consisting of modules written in different schema languages (RelaxNG and WXS primarily)
- 0-4 Define a module/driver design pattern [Category - Schemas]
- For now, we are using the same design pattern as XHTML2, which has proven to be very powerful.
- 0-5 xml[colon]id [Category - Framework]
- For now, we are hoping to require the use of xml[colon]id to express IDness pan-modules, pan-profiles.
- 0-6 Resource Discovery [Category - Framework]
- A complete RDDL instance is provided as part of the iteration 1 deliverables. The currently proposed solution is to require the presence of a RDDL instance at the profile's identity URI
Iteration 1 Issue Log
Items carried over from Iteration 0 Issue Log
- 0-7 Clarification of uses of roles vs. elements
- We should agree on and document the distinction between what types of information is to be carried by roles, and what by XML elements and attributes.
- A summary of the current recommendation is available at ZedAI_When_to_use_Elements
- 0-2 Schema Inline Documentation [Category - Schemas]
- We need a principle for inline schema documentation, and tools to generate human-readable documents from this. The principle needs to take into account the fact that our document models are assembled using elements defined by different agencies. (This is a deliverable for iteration 2, see below)
New Issues
Issues pertaining to content model details and grammar design are maintained separately at the ZedNext GoogleCode Issue Tracker, and not duplicated here.
Several Issues are also expressed as concrete deliverables for Iteration 2, see below.
- 1-1 Content model for frontmatter
- Does the section[@role] approach work in frontmatter, or do we need dedicated elements in order to specialize content models of the typically occurring phenomena in frontmatter? Note: we already have a dedicated toc element.
- 1-2 External object inclusion
- Which method should be used to include external objects (typically images) in the content? XHTML2 provides the object element which has many usable features. XHTML2 also provides the "src-anywhere" concept, which means that any element can reference an object/image (and its text thus be regarded as a fallback).
- 1-3 Attribution
- What is the best markup approach for (frontmatter) attribution (author, editor, publisher, copyright holder, contributor, etc)? Do we need to create a set of elements in our own namespace, or can we inherit by including a module from somewhere else? These are commonly recurring constructs that we ideally shouldnt need to maintain our own version of. Further, how does inline attribution relate to document-level metadata? Can they be combined somehow?
- 1-4 Multi-file documents
- We need to identify the best technology to use for instance documents being split into several files. The chosen technology should ideally be required to use for this purpose across profiles.
Deliverables for the next iteration
Iteration 2 time span: 5 January 2009 - 17 April 2009
Simple Book Profile, second draft
Responsible: PS, MG, with input from entire group
The deliverable should include a content model with no known omissions and thus be a draft that can go public.
Primary remaining activities include:
- cleaning up some content models
- deciding on frontmatter section@role vs dedicated elements
- find an acceptable solution for attribution markup
Advanced Book Profile, first draft
Responsible: PS, MG, with input from entire group
- define what constructs to include as compared to SimpleBook, such as
- MathML
- Section TOCs
- More advanced frontmatter TOC
- Handling out-of-main-flow content like sidebars and their kin
- Code/samp/var models etc, look at inclusion of docbook5 constructs for computer code markup
- build a first draft of schema and RDDL
- decide on name ("advanced" is just a placeholder; expectations seem to lean more in the direction of "science book profile")
Periodicals Profile, first draft
Responsible: KJ, OHA, with input from entire group
- settle the article content model (which was drafted in iteration 1)
- decide on the use of a more generic attribution module (that can be reused for a compendium profile, for example)
- define higher level constructs (for print periodical republishing)
- create first draft of schema (MG helps out here if needed) and RDDL.
Final RDF Book Taxonomy
Responsible: MdM, BG
Build a final version of the print book taxonomy with regards to CURIE definitions. This should continue to build on Chicago Manual of Style as the primary reference.
Use of RDF for QName mapping
Responsible: MdM, BG
The primary use for RDF is to define CURIEs used in the Role framework. But we also need to have a predefined way to assign static relationships between QNames in a profile's grammar and other QNames or RDF classes. This deliverable is to identify the syntax to use.
First draft spec
Responsible: MG
Provide a first draft of the ZedAI specification (ANSI/NISO Z39.86-2010 Part A - DAISY Authoring and Interchange Framework Specification).
(A first skeleton was written during Iteration 1.)
Metadata Module and Metadata Spec Prose
Responsible: MattG, MG
The IFLA group has been working on a proposal for metadata. In this iteration, this work should be concretized into a module, and spec prose on its use should be written.
External Object Inclusion
Responsible: MG, BG
Define Guidelines/Patterns for how to include external objects (images, typically) in ZedAI document instances. Currently, the XHTML2 framework allows the use of both "src-anywhere" and the object element for this. Which of these do we want to adopt, and for what purpose? This should be clarified, and the clarification should end up in the spec as a good-practice-style guideline for profile authors.
Representing instance documents as multiple XML documents
Responsible: JP
Research and provide a recommendation for how to represent a profile instance document as multiple XML documents.
Candidate technologies to use include XInclude (which, for example, is used by DocBook 5), but other options may be prove to be better for our purposes.
Ideally, the research should identify a technology that can be applied normatively pan-profiles.
Include prose descriptions of elements and attributes in generated documentation
Responsible: PS
See Iteration 1 Issue Log above.
