Details
-
Type:
Wish
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Sink API
-
Labels:None
Description
From DOXIA-236:
A thought with regard to event order/nesting: What about defining a Sink Object Model in terms of a XSD? This tree structure should not be expressed by a programmatic API but merely serves as a reference for parser validation. I.e. a CanonicalSink would output the XML document
<sink> <head> <title> <text>foo</text> </title> </head> </sink>
for the event sequence head(), title(), text("foo"), _title(), _head(). This tree could then be passed through a validating XML parser (conveniently wrapped in a ValidatingSink, superceding the WellformednessCheckingSink) to check that the parser obeys the ordering/nesting rules defined by the XSD. Of course, the XSD would also serve the purpose of documenting the intended usage of the Sink API to implementors.