RelaxNG/publidoc.rnc
changeset 109 78dceeeda33a
parent 105 ce5c5b08cb94
child 111 44de27e5c6cf
--- a/RelaxNG/publidoc.rnc	dim. mai 27 12:47:54 2012 +0200
+++ b/RelaxNG/publidoc.rnc	lun. mai 28 23:48:14 2012 +0200
@@ -237,7 +237,7 @@
 table.content =
    block.head?,
    tgroup+,
-   caption?
+   table.caption?
 
 # ~~~~~~ tgroup
 tgroup = element tgroup { tgroup.attributes, tgroup.content }
@@ -293,8 +293,8 @@
    inlines
  | (p | media)+
 
-# ~~~~~~ caption
-caption = element caption { caption.content }
+# ~~~~~~ table.caption
+table.caption = element caption { caption.content }
 
 caption.content =
    inlines
@@ -308,7 +308,7 @@
 media.content =
    block.head?,
    (image | audio)+,
-   caption?,
+   media.caption?,
    link?
 
 # ~~~~~~ image
@@ -321,6 +321,7 @@
 image.type = attribute type { "cover" | "thumbnail" | "icon" }
 
 image.content =
+   tooltip*,
    copyright?
 
 # ~~~~~~ audio
@@ -331,6 +332,30 @@
  & audio.type?
 audio.type = attribute type { "music" | "voice" | "ambiance" | "smil" }
 
+# ~~~~~~ tooltip
+
+tooltip = element tooltip { tooltip.attributes, tooltip.content }
+
+tooltip.attributes =
+   x.attribute
+ & y.attribute
+ & dx.attribute?
+ & dy.attribute?
+x.attribute = attribute x { xsd:token {pattern = "\d{1,3}%"} }
+y.attribute = attribute y { xsd:token {pattern = "\d{1,3}%"} }
+dx.attribute = attribute dx { xsd:token {pattern = "-?\d{1,3}%"} }
+dy.attribute = attribute dy { xsd:token {pattern = "-?\d{1,3}%"} }
+
+tooltip.content =
+   (p | image)+
+   
+# ~~~~~~ media.caption
+media.caption = element caption { caption.attributes, caption.content }
+
+caption.attributes =
+   x.attribute?
+ & y.attribute?
+
 
 # =============================================================================
 #                                 HEAD LEVEL