# hes16a.dtd (multiple C*) # derived from: # losfile.dtd # DTD for the bible texts of the freeware watchwords programs. # Version 06t-33: # last changes: # attribute kni # attribute c # previous version: hes06-33t.dtd namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" Books = "Gn" | "Ex" | "Lv" | "Nu" | "Dt" | "Jos" | "Jdc" | "Rth" | "1Sm" | "2Sm" | "1Rg" | "2Rg" | "1Chr" | "2Chr" | "Esr" | "Neh" | "Esth" | "Job" | "Ps" | "Prv" | "Eccl" | "Ct" | "Is" | "Jr" | "Thr" | "Ez" | "Dn" | "Hos" | "Joel" | "Am" | "Ob" | "Jon" | "Mch" | "Nah" | "Hab" | "Zph" | "Hgg" | "Zch" | "Ml" | "Mt" | "Mc" | "L" | "J" | "Act" | "R" | "1K" | "2K" | "G" | "E" | "Ph" | "Kol" | "1Th" | "2Th" | "1T" | "2T" | "Tt" | "Phm" | "H" | "Jc" | "1P" | "2P" | "1J" | "2J" | "3J" | "Jd" | "Ap" Line = (text | X | EM)* # Top level structure LOSFILE = element LOSFILE { attlist.LOSFILE, HEAD, (YEAR | MONTH | WEEK | DAY | LOSUNG)+ } attlist.LOSFILE &= [ a:defaultValue = "1" ] attribute dtdmainvers { string "1" }?, attribute dtdsubvers { text }?, attribute xml:lang { xsd:NMTOKEN }, attribute year { text } HEAD = element HEAD { attlist.HEAD, FILEVERS, XLAT, SUBLANG* } attlist.HEAD &= empty FILEVERS = element FILEVERS { attlist.FILEVERS, text } attlist.FILEVERS &= empty XLAT = element XLAT { attlist.XLAT, text } attlist.XLAT &= empty # language info SUBLANG = element SUBLANG { attlist.SUBLANG, TLPATTERN, MONTHS, DOW } attlist.SUBLANG &= attribute subcode { text } TLPATTERN = element TLPATTERN { attlist.TLPATTERN, Line } attlist.TLPATTERN &= empty MONTHS = element MONTHS { attlist.MONTHS, empty } attlist.MONTHS &= attribute jan { text }, attribute feb { text }, attribute mar { text }, attribute apr { text }, attribute may { text }, attribute jun { text }, attribute jul { text }, attribute aug { text }, attribute sep { text }, attribute oct { text }, attribute nov { text }, attribute dec { text } DOW = element DOW { attlist.DOW, empty } attlist.DOW &= attribute sun { text }, attribute mon { text }, attribute tue { text }, attribute wed { text }, attribute thu { text }, attribute fri { text }, attribute sat { text } # Non-watchwords info (calendar etc.) YEAR = element YEAR { attlist.YEAR, TL, S, IL?, L+, SL } attlist.YEAR &= attribute y { text } MONTH = element MONTH { attlist.MONTH, TL, S, IL?, L+, SL } attlist.MONTH &= attribute m { text } WEEK = element WEEK { attlist.WEEK, S, IL?, L+, SL } attlist.WEEK &= attribute d { text }, attribute m { text }, attribute ord { text }? DAY = element DAY { attlist.DAY, (S, IL?, L+, SL, SR?, CR?, C?)? } attlist.DAY &= attribute d { text }, attribute m { text }, [ a:defaultValue = "important" ] attribute type { "sunday" | "holiday" | "important" | "week" }?, attribute ord { text }?, attribute label { text }?, attribute name { text }, attribute meaning { text }?, attribute src { text }? # Structure for one watch word (one day) LOSUNG = element LOSUNG { attlist.LOSUNG, TL, OT, NT, TT?, SR?, CR?, C* } attlist.LOSUNG &= attribute d { text }, attribute m { text } OT = element OT { attlist.OT, S, IL?, L+, SL } attlist.OT &= empty NT = element NT { attlist.NT, S, IL?, L+, SL } attlist.NT &= empty TT = element TT { attlist.TT, L+, SL } attlist.TT &= empty S = element S { attlist.S, empty } attlist.S &= attribute b { Books }, attribute kni { text }?, attribute ch { xsd:integer }?, attribute v { xsd:integer }, attribute r2 { text }?, attribute ch2 { xsd:integer }?, attribute v2 { xsd:integer }?, attribute r3 { text }?, attribute ch3 { xsd:integer }?, attribute v3 { xsd:integer }?, attribute r4 { text }?, attribute ch4 { xsd:integer }?, attribute v4 { xsd:integer }?, attribute n { text }?, attribute tr { text }? TL = element TL { attlist.TL, Line } attlist.TL &= empty IL = element IL { attlist.IL, Line } attlist.IL &= empty SL = element SL { attlist.SL, Line } attlist.SL &= empty SR = element SR { attlist.SR, S*, SL } attlist.SR &= empty CR = element CR { attlist.CR, S?, SL } attlist.CR &= empty C = element C { attlist.C, L+ } attlist.C &= empty L = element L { attlist.L, Line } attlist.L &= empty X = element X { attlist.X, text } attlist.X &= empty EM = element EM { attlist.EM, text } attlist.EM &= empty start = LOSFILE