367 media.caption?, |
378 media.caption?, |
368 link? |
379 link? |
369 |
380 |
370 # ~~~~~~ blanks.image |
381 # ~~~~~~ blanks.image |
371 blanks.image = element image { image.attributes, blanks.image.content } |
382 blanks.image = element image { image.attributes, blanks.image.content } |
|
383 pip.image = element image { image.attributes, pip.image.content } |
372 |
384 |
373 blanks.image.content = |
385 blanks.image.content = |
374 copyright?, |
386 copyright?, |
375 blanks.dropzone* |
387 blanks.dropzone* |
376 |
388 pip.image.content = |
377 # ~~~~~~ blanks.dropzone |
389 pip.dropzone+ |
|
390 |
|
391 # ~~~~~~dropzone |
378 blanks.dropzone = element dropzone { |
392 blanks.dropzone = element dropzone { |
379 blanks.dropzone.attributes, blanks.dropzone.content } |
393 blanks.dropzone.attributes, blanks.dropzone.content } |
|
394 pip.dropzone = element dropzone { |
|
395 pip.dropzone.attributes, pip.dropzone.content } |
380 |
396 |
381 blanks.dropzone.attributes = |
397 blanks.dropzone.attributes = |
382 x.attribute |
398 x.attribute |
383 & y.attribute |
399 & y.attribute |
|
400 pip.dropzone.attributes = |
|
401 x.attribute |
|
402 & y.attribute |
|
403 & w.attribute |
|
404 & h.attribute |
384 |
405 |
385 blanks.dropzone.content = |
406 blanks.dropzone.content = |
386 blank |
407 blank |
|
408 pip.dropzone.content = |
|
409 image? |
387 |
410 |
388 # ~~~~~~~~~~~~~~~~~~~~~~~~ choices.right, choices.wrong ~~~~~~~~~~~~~~~~~~~~~~~ |
411 # ~~~~~~~~~~~~~~~~~~~~~~~~ choices.right, choices.wrong ~~~~~~~~~~~~~~~~~~~~~~~ |
389 |
412 |
390 choices.right = element right { choices.right.content } |
413 choices.right = element right { choices.right.content } |
391 choices.wrong = element wrong { choices.right.content } |
414 choices.wrong = element wrong { choices.right.content } |