RelaxNG/publidoc.rnc
changeset 146 aba988da5d50
parent 144 72f40ed625aa
child 147 ef6d2a49afba
equal deleted inserted replaced
145:d8fab077a6dc 146:aba988da5d50
   267 # ~~~~~~ tgroup
   267 # ~~~~~~ tgroup
   268 tgroup = element tgroup { tgroup.attributes, tgroup.content }
   268 tgroup = element tgroup { tgroup.attributes, tgroup.content }
   269 
   269 
   270 tgroup.content =
   270 tgroup.content =
   271    thead?,
   271    thead?,
   272    tfoot?,
       
   273    tbody
   272    tbody
   274 
   273 
   275 tgroup.attributes =
   274 tgroup.attributes =
   276    cols.attribute
   275    cols.attribute
   277  & align.attribute?
   276  & align.attribute?
   280 cols.attribute = attribute cols { xsd:positiveInteger }
   279 cols.attribute = attribute cols { xsd:positiveInteger }
   281 align.attribute = attribute align { "left"  |  "right"  | "center" | "justify" }
   280 align.attribute = attribute align { "left"  |  "right"  | "center" | "justify" }
   282 colsep.attribute = attribute colsep { "0" | "1" }
   281 colsep.attribute = attribute colsep { "0" | "1" }
   283 rowsep.attribute = attribute rowsep { "0" | "1" }
   282 rowsep.attribute = attribute rowsep { "0" | "1" }
   284 
   283 
   285 # ~~~~~~ thead, tfoot, tbody
   284 # ~~~~~~ thead, tbody
   286 thead = element thead { thead.attributes, thead.content }
   285 thead = element thead { thead.attributes, thead.content }
   287 tfoot = element tfoot { tfoot.attributes, tfoot.content }
       
   288 tbody = element tbody { tbody.attributes, tbody.content }
   286 tbody = element tbody { tbody.attributes, tbody.content }
   289 
   287 
   290 thead.attributes =
   288 thead.attributes =
   291    valign.attribute?
       
   292 tfoot.attributes =
       
   293    valign.attribute?
   289    valign.attribute?
   294 tbody.attributes =
   290 tbody.attributes =
   295    valign.attribute?
   291    valign.attribute?
   296 valign.attribute = attribute valign { "top" | "middle" | "bottom" }
   292 valign.attribute = attribute valign { "top" | "middle" | "bottom" }
   297 
   293 
   298 thead.content =
   294 thead.content =
   299    row+
   295    row+
   300 tfoot.content =
       
   301    row+
       
   302 tbody.content =
   296 tbody.content =
   303    row+
   297    row+
   304 
   298 
   305 # ~~~~~~ row
   299 # ~~~~~~ row
   306 row = element row { row.attribute, row.content }
   300 row = element row { row.attributes, row.content }
   307 
   301 
   308 row.attribute =
   302 row.attributes =
   309    valign.attribute?
   303    valign.attribute?
       
   304  & rowsep.attribute?
   310 
   305 
   311 row.content =
   306 row.content =
   312   entry+
   307   entry+
   313 
   308 
   314 # ~~~~~~ entry
   309 # ~~~~~~ entry
   315 entry = element entry { entry.content }
   310 entry = element entry { entry.attributes, entry.content }
       
   311 
       
   312 entry.attributes =
       
   313    align.attribute?
       
   314  & valign.attribute?
       
   315  & colsep.attribute?
       
   316  & rowsep.attribute?
   316 
   317 
   317 entry.content =
   318 entry.content =
   318    inlines
   319    inlines
   319  | (p | media)+
   320  | (p | media)+
   320 
   321