***TaskList****
Name Task Iter AssTo Prio Status
schproc Finalize RngSchTestprocessor 2 MG must done
res implement res maps+tests 2 MG must done
dtbook implement dtbook maps+tests 2 MG must done
smil implement smil maps+tests 2 MG must done
ncxmap implement ncx maps 2 JP must done
ncxtests implement ncx tests 2 MG must done
opfmap implement opf maps 2 ES must done
opftests implement opf tests 2 MG must done
imgmap implement img maps 2 MG must done
imgtests implement img tests 2 MG must done
audmap implement aud maps 2 ES must done
audtests implement aud tests 2 MG must done
constants add constants singleton to engine
carrying PIDs, nsUris etc 3 MG may done
Elements add elements ArrayList
for interrelation checking 3 MG must done
identifier fix package.getIdentifier() vs
markus.getStatedUid() anomaly 3 MG must done
JL Locate JavaLayer-not-reporting
-corrupt-mp3 problem 3 ES must ---
specversion develop algo for handling input
DTB version determination 3 MG must done
usesURIs ensure all @uses in procMap
supports jarness 3 MG must done
catalog dereference rng to go thorugh
util.catalog via PIDs 3 MG may done
dtdref dereference dtd to go thorugh
util.catalog via PIDs 3 MG may done
mapval check bidirectionally in maps
that all tests are
defined/implemented 3 MG must done
maprng author rngs for maps 3 MG should done
cssfile add CssFile and impl proper css
parse (get from org.daisy.util) 3 MG must done
foldername impl foldername restriction
in z3986-2005.html#Allowed-Char 3 MG must ---
dtbookmeta if additional dublincore occurs,
validate? 3 may ---
gnu update gnu header with 2005 3 must ---
unkwownid if an .addTestFailure is called
with an unkown id as inparam,
issue error 3 may ---
cli Integrate CLI from Jakarta 3 may done
instance Make instantiatable from
outside application 3 may done
AAC Implement AAC format checks 3 should ---
UNC Check UNC problems w catalog
reported by james 3 MG should ---
Otherfile Generate warning if otherfile 3 MG must done
oneNcx add tests to opf: only one ncx 3 MG should done
oneRes add tests to opf: zero or one res 3 MG should done
expmime remove .expectedMimeType() since
zedfile hier is spec agnostic
and mimetypes arent 3 MG must done
mime test: check mime matches filetype 3 MG must done
casessens extensions are all lcase in 2005
fix this in customtest regexs 3 MG must done
folder impl foldername tests 3 MG must ---
manifestrefs make sure all files implement
the manifestRefs test 3 MG must ---
getName() fix io.File.getName() not
reporting case inconsistencies 3 MG must done
skipIdRef smil: add test skip
IDREF ends up at ctest in head 3 MG must done
jarness ensure jarness of entire package 3 MG should done
smilclock move to org.daisy.util 3 LE should ---
npt fix npt= in sch calcs 3 MG must done
dtdinc should DTDs and ENTs be listed
in manifest only *if* they are locally
available? 3 ZC should ---
getMmType have packageFile return a computed
multimediatype value 3 MG should done
dtbtypes
Investigate possibility of post-
filtering of tests that dont apply to
DTBtype. 3 MG should
generic implement GenericTests.java 3 MG must
clipcount change rng clipcheck to smilclock 3 mg must done
dtd,ent add dtd, ent, mod support
to zedhier 3 mg must done
alphabuild build alpha release 3 PK must ---
xalan check whether a jaxp
system prop can be used
instead of endorsed folder 3 PK must ---
2002alpha test that z2002val behaves
identically to prev release
regarding tests 4 KK must ---
2005alpha test all tests in 2005 testMap 4 KK must ---
alphasfix fix all reports from 2002 & 2005 4 MG must
MAJOR NEWS
- all zedfileset members that can point to other members must implement the Referring interface
- CssFile added with proper parse: new jar dependencies: sac, batik
- DtdFile and EntFile added to ZedFile Hierarchy
- @specversion of procMap root decides what specversion input DTB is being validated against
- CLI implemented in ZedVal.java; DefaultContext is now purely passive and the encapsulation is cleaner
- Jarness implemented
- Instantiable from other application implemented
QUESTIONS TO ZED COMMITEE
dtdinc
ctest-idequivalence-explanation
issue-01:
we need an established strategy for customtest reuse between spec iterations:
- on one hand, not doing it will duplicate code
- on the other hand, doing it will risk accuracy because of spec variations, test changes etc
For example, z2002 SmilRelations.java cant be reused as is because if the a@external addition.
-->If we want to reuse the same code for multiple specs, we would minimally need to break each
test into a single instantiable class.
issue-02
CustomTests
NCX collects the set of unique customTests in the DTB, ie: same as it would look if all smilfiles were merged into one. NCX is required to duplicate the id, override, and defaultState attrs of each unique customTest.
One problem is; when logically merging smilfiles, how do you determine whether two customTests from two different smilfiles represent the same type of test - where 'test' equals bookstructure, such as pagenum, poem.
Only for for full-text DTBs is it possible to programatically validate that the above merge has been done correctly, since 'sameeness' can only be determined by evaluating the content of the information (= check dtbook element type, or have a human listen to the audio).
Since authoring tools are required to represent the ncx smilCustomTest set "as-if-there-was-only-one-smilfile", this means that a SMIL customTest that appears in several SMIL files must have its id value duplicated in those SMIL files, in order to be correctly represented as one item in NCX. Although this is already a consequence of normative spec prose, it could be clarified in the spec to help authoring tool developers.
What can be tested in ZedVal?
For all types of books:
-that each customTest element in SMIL has its id, override, and defaultState attrs duplicated in one smilCustomTest element in the NCX.
-that each smilCustomTest element in NCX has its id, override, and defaultState attrs duplicated in at least one customTest element in smil.
This is now implemented in ncx_smilCustomTestMatch and smil_ncxCustomTestMatch, which also redundifies the test ncx_smilCustomTestAtts which james added.
For full text books
- that the bookStruct value matches the corresponding dtbook value (ncx_bookStructReq, ncx_bookStructValue)
For non-full-text books
- bookStruct validation is a manual test
There is also the not yet impld test smil_defaultStateSame, which may be implemented by checking that all tests with the same bookStruct has the same defaultState (or simply by checking that there are no dupe bookStructs in NCX).