mg: 20060404-05, rebounce weekend **achievement summary** Markus finalized the RngSchTestProcessor, and implemented all tests for Res, Dtbook, and most for Smil. To perform interrelational customTests, he added a getElements() method to Dtbook(TextFile) and SMIL (SmilFile). Using the getElements method, you can do queries about non-axis properties, for example, does an element with idvalue xyz exist? what is the localName of an element with idvalue xyz? This is an implementation of the action item "collect more properties during initial sax parse" that we had in backlog.xls. **Suggested Workflow for implementing a filetype** 1. Make sure the testMap is complete for the filetype you are working on 1.1 Use the existing templates done by mg (zedval\zedsuite\org\daisy\zedsuite\v2005\maps\*) where some generic tests are already added 1.2 always use a mnemonical prefix in the id for each test to make life simpler ("smil_IdValue", "ncx_IdValue" etc) 2. Implement each test 2.1 Create a list of all tests for the type in testMap (simplest by uncommenting line 292 in ZedVal.java and running the app) 2.2 One by one, allocate each test from list above to a wellchosen elem in procMap2005.xml, and implement it. in procMap, mark tests that you skip with the string TODO followed by your initials; "TODO mg: i cant grok it" 3. Schematron For Schematron tests, ALWAYS use the following format of the assertion return strings [sch][testId] Examples in zedval\zedsuite\org\daisy\zedsuite\v2005\rng\*.rng (You can see how that is used in the method parseMessage in RngSchematronTestProcessor.java) 4. RNG note how proper rng authoring from now on will give us the following generic tests as rng tests: (we didnt do this for 2002 as we didnt grok the XmlReader underlying Jing) resource_versionPresence resource_versionValue resource_xmlnsPresence resource_xmlnsValue resource_entityDeclInternal RNG/SCH Schemas are put in zedsuite/org/daisy/zedval/zedsuite/v2005/rng/ Note that the 'old' placement of customtest files etc are still there so it can get confusing: all active files are in zedsuite/org/daisy/zedval/zedsuite/v2005/ 5. CustomTests 5.1 Placement is in zedsuite/org/daisy/zedsuite/v2005/* 5.2 To test the public id, use ZedConstants (as in ResourceTests.java line 48) 5.3 To test allowed chars in filename, use the new ZedFile.hasAllowedName (as in ResourceTests.java line 73)