1default namespace = "http://dblatex.sourceforge.net/config" 2 3start = config 4config = 5 element config { 6 attribute version { text }?, (latex | xslt | imagedata | options)* 7 } 8 9# <latex> element and children syntaxes 10# 11latex = 12 element latex { 13 empty, 14 (texinputs 15 | bibinputs 16 | bstinputs 17 | backend 18 | texstyle 19 | texpost 20 | indexstyle)* 21 } 22 23attlist.modname = attribute use { text } 24attlist.filepath = attribute fileref { text } 25attlist.mod_or_file = 26 attlist.modname | 27 attlist.filepath 28 29backend = element backend { attlist.modname, empty } 30texstyle = element texstyle { attlist.mod_or_file, empty } 31texpost = element texpost { attlist.mod_or_file, empty } 32indexstyle = element indexstyle { attlist.filepath, empty } 33texinputs = element texinputs { text } 34bibinputs = element bibinputs { text } 35bstinputs = element bstinputs { text } 36 37# <xslt> element and children syntaxes 38# 39xslt = element xslt { (stylesheet | engine)* } 40 41stylesheet = element stylesheet { attlist.filepath, empty } 42engine = 43 element engine { attlist.engine, (commandchain | command)? } 44attlist.engine = 45 attlist.modname | 46 attribute param-format { text } 47 48# <imagedata> element and children syntaxes 49# 50imagedata = 51 element imagedata { (figpath | figformat | formatrule | converter)* } 52 53figpath = element figpath { attlist.filepath, empty } 54figformat = element figformat { text } 55formatrule = element formatrule { attlist.formatrule, empty } 56attlist.formatrule = 57 attribute dst { text }?, 58 attribute docformat { "dvi" | "ps" | "pdf" | "*" }?, 59 attribute backend { text }? 60 61converter = 62 element converter { attlist.converter, (commandchain | command) } 63attlist.converter = 64 attribute src { text }?, 65 attribute dst { text }?, 66 attribute docformat { "dvi" | "ps" | "pdf" | "*" }?, 67 attribute backend { text }? 68 69# General <command> syntax 70# 71commandchain = element commandchain { command+ } 72command = element command { attlist.command, text } 73attlist.command = 74 attribute input { text }?, 75 attribute output { text }?, 76 attribute shell { "0" | "1" | "false" | "true" }? 77 78# <options> syntax 79# 80options = element options { text } 81 82