RelaxNG/publiquiz.rnc
changeset 411 33de269dd273
parent 409 e55d34c4db69
child 412 c70e17e21021
equal deleted inserted replaced
410:bf0f6280f577 411:33de269dd273
   111  | pointing-categories
   111  | pointing-categories
   112  | pip
   112  | pip
   113  | matching
   113  | matching
   114  | sort
   114  | sort
   115  | categories
   115  | categories
   116  | mip
       
   117  | production
   116  | production
   118 
   117 
   119 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ choices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   118 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ choices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   120 
   119 
   121 choices-radio = element choices-radio {
   120 choices-radio = element choices-radio {
   143    blanks-fill.attributes, blanks-fill.content }
   142    blanks-fill.attributes, blanks-fill.content }
   144 blanks-select = element blanks-select {
   143 blanks-select = element blanks-select {
   145    blanks-select.attributes, blanks-select.content }
   144    blanks-select.attributes, blanks-select.content }
   146 blanks-media = element blanks-media {
   145 blanks-media = element blanks-media {
   147    blanks-select.attributes, blanks-media.content }
   146    blanks-select.attributes, blanks-media.content }
   148 blanks-char = element blanks-char { 
   147 blanks-char = element blanks-char {
   149    blanks-char.attributes, blanks-select.content }
   148    blanks-char.attributes, blanks-select.content }
   150 
   149 
   151 blanks-fill.attributes =
   150 blanks-fill.attributes =
   152    success.attribute?
   151    success.attribute?
   153  & strict.attribute?
   152  & strict.attribute?
   300 
   299 
   301 category.content =
   300 category.content =
   302    category.head,
   301    category.head,
   303    category.item*
   302    category.item*
   304 
   303 
   305 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mip ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
   306 
       
   307 mip = element mip { mip.attributes, mip.content }
       
   308 
       
   309 mip.attributes =
       
   310    success.attribute?
       
   311  & multiple.attribute?
       
   312  & orientation.attribute?
       
   313 
       
   314 mip.content =
       
   315    mip.image
       
   316 
       
   317 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ production ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   304 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ production ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   318 
   305 
   319 production = element production { production.content }
   306 production = element production { production.content }
   320 
   307 
   321 production.content = text
   308 production.content = text
   575    link?
   562    link?
   576 
   563 
   577 # ~~~~~~ blanks.image
   564 # ~~~~~~ blanks.image
   578 blanks.image = element image { image.attributes, blanks.image.content }
   565 blanks.image = element image { image.attributes, blanks.image.content }
   579 blanks-m.image = element image { image.attributes, blanks-m.image.content }
   566 blanks-m.image = element image { image.attributes, blanks-m.image.content }
   580 mip.image = element image { image.attributes, mip.image.content }
       
   581 
   567 
   582 blanks.image.content =
   568 blanks.image.content =
   583    copyright?,
   569    copyright?,
   584    blanks.dropzone*
   570    blanks.dropzone*
   585 blanks-m.image.content =
   571 blanks-m.image.content =
   586    copyright?,
   572    copyright?,
   587    blanks-m.dropzone*
   573    blanks-m.dropzone*
   588 mip.image.content =
       
   589    mip.dropzone+
       
   590 
   574 
   591 # ~~~~~~ dropzone
   575 # ~~~~~~ dropzone
   592 blanks.dropzone = element dropzone {
   576 blanks.dropzone = element dropzone {
   593    blanks.dropzone.attributes, blanks.dropzone.content }
   577    blanks.dropzone.attributes, blanks.dropzone.content }
   594 blanks-m.dropzone = element dropzone {
   578 blanks-m.dropzone = element dropzone {
   595    blanks.dropzone.attributes, blanks-m.dropzone.content }
   579    blanks-m.dropzone.attributes, blanks-m.dropzone.content }
   596 mip.dropzone = element dropzone {
       
   597    mip.dropzone.attributes, mip.dropzone.content }
       
   598 
   580 
   599 blanks.dropzone.attributes =
   581 blanks.dropzone.attributes =
   600    x.attribute
   582    x.attribute
   601  & y.attribute
   583  & y.attribute
   602 mip.dropzone.attributes =
   584 blanks-m.dropzone.attributes =
   603    x.attribute
   585    x.attribute
   604  & y.attribute
   586  & y.attribute
   605  & w.attribute
   587  & w.attribute
   606  & h.attribute
   588  & h.attribute
   607 
   589 
   608 blanks.dropzone.content =
   590 blanks.dropzone.content =
   609    blank
   591    blank
   610 blanks-m.dropzone.content =
   592 blanks-m.dropzone.content =
   611    blank-m
   593    blank-m
   612 mip.dropzone.content =
       
   613    image?,
       
   614    audio?
       
   615 
   594 
   616 # ~~~~~~ media.caption
   595 # ~~~~~~ media.caption
   617 blanks.media.caption = element caption {
   596 blanks.media.caption = element caption {
   618    caption.attributes, blanks.caption.content }
   597    caption.attributes, blanks.caption.content }
   619 blanks-m.media.caption = element caption {
   598 blanks-m.media.caption = element caption {
   802    text
   781    text
   803  | (s+, help?, answer?)
   782  | (s+, help?, answer?)
   804 
   783 
   805 # ~~~~~~ blank-m
   784 # ~~~~~~ blank-m
   806 blank-m = element blank { blank-m.content }
   785 blank-m = element blank { blank-m.content }
   807 blank-m.content = math | image | audio | s-m+
   786 blank-m.content =
       
   787    p
       
   788  | math
       
   789  | image
       
   790  | audio
       
   791  | (s-m+, help?, answer?)
   808 
   792 
   809 # ~~~~~~ s
   793 # ~~~~~~ s
   810 s = element s { s.content }
   794 s = element s { s.content }
   811 s.content = text
   795 s.content = text
   812 
   796 
   813 # ~~~~~~ s-m
   797 # ~~~~~~ s-m
   814 s-m = element s { s-m.content }
   798 s-m = element s { s-m.content }
   815 s-m.content = math | image | audio
   799 s-m.content =
       
   800    p
       
   801  | math
       
   802  | image
       
   803  | audio
   816 
   804 
   817 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ point ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   805 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ point ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   818 
   806 
   819 point = element point { point.attributes, point.content }
   807 point = element point { point.attributes, point.content }
   820 pip.point = element point { pip.point.attributes, point.content }
   808 pip.point = element point { pip.point.attributes, point.content }