| 38 | Book resources could also have 3 additional child nodes - ‘pages’, ‘page-templates’ and ‘frame-templates’. The value of these properties is a list of references to resources just like the template one. These child nodes have attribute ‘size’ that is integer number indicating how many elements this list holds. Each element of the list is persisted separately in a child node called accordingly ‘page’ or ‘template’. Those elements have attribute ‘index’ since the order of those elements is important to the way the book is presented. In xml files order of the children with the same name on the same level of the xml is not regarded. That way the list of pages for example page elements could change their place in the xml representation but we won`t lose the information for the order in which they were arranged in the book. [[BR]] [[BR]] |
| 39 | Pages, groups and page extras (set of annotations on a page for example) could have ‘elements’ child node. Its value is basically a list of references, although there are a few differences. Here the elements nodes are named ‘element’, the ref is persisted in ‘elementRef’ tag and there is an additional ‘entries’ child node that is used by the timelines determine when this element is active and when it is not. [[BR]] [[BR]] |
| 40 | Frames and Pages have styled background and borders so their resource could have ‘bg-style’ and/or ‘border’ child nodes. The ‘border’ node could have two child nodes. First one is ‘color’. Its value representing the red, green, blue and alpha values of a color like this: ImmColor(r=0.364706, g=0.533333, b=1.00000, a=1.00000). The second one is ‘insets’ that contains four children for the thickness value of the right, left, bottom and top part of the border: [[BR]] |
39 | | Book resources could also have 3 additional child nodes - ‘pages’, ‘page-templates’ and ‘frame-templates’. The value of these properties is a list of references to resources just like the template one. These child nodes have attribute ‘size’ that is integer number indicating how many elements this list holds. Each element of the list is persisted separately in a child node called accordingly ‘page’ or ‘template’. Those elements have attribute ‘index’ since the order of those elements is important to the way the book is presented. In xml files order of the children with the same name on the same level of the xml is not regarded. That way the list of pages for example page elements could change their place in the xml representation but we won`t lose the information for the order in which they were arranged in the book. [[BR]] [[BR]] |
40 | | Pages, groups and page extras (set of annotations on a page for example) could have ‘elements’ child node whose value is basically a list of references. There are a few differences, here the elements nodes are named ‘element’, the ref is persisted in ‘elementRef’ tag and there is an additional ‘entries’ child node that is used by the timelines. [[BR]] [[BR]] |
| 42 | {{{ |
| 43 | <insets> |
| 44 | <bottom>5.0</bottom> |
| 45 | <left>10.0</left> |
| 46 | <right>15.0</right> |
| 47 | <top>20.0</top> |
| 48 | </insets> |
| 49 | }}} |
| 50 | The background style tag is a bit more complicated. It would almost every time have a child node named ‘type’ that could have 5 different values: none, solid, pattern, gradient, image. In case it is solid, there will be also a child ‘color’ that would have a value just like the border color. It would mean that the background is filled with solid color. If it is none there is no background. If it is pattern or image there is a child node ‘image’ whose value is a reference to an image resource. In the image case this image is stretched to the size of the background area. In the pattern case it is repeated in its original size until the background area is filled. [[BR]] [[BR]] |
| 51 | Groups, frames and stickies could have positioning properties – ‘rotation-angle’ and ‘content-location’. The first one is a simple double number. The second one though is a bit complicated. Its value is a list ‘entries’ that is used to specify the location of the element in different times of its activation. The list elements are named ‘entry’ and have two child nodes – ‘key’ and ‘value’. The key is a position in time in milliseconds. This is true for all ‘entries’ lists for the different properties that have a timeline. The specific thing here is the child ’value’. It has a value that describes location – ‘x’ and ‘y’ values: [[BR]] |
| 52 | {{{ |
| 53 | <entries size="2"> |
| 54 | <entry index="0"> |
| 55 | <value> |
| 56 | <y>155.0</y> |
| 57 | <x>80.0</x> |
| 58 | </value> |
| 59 | <key>-1000000000</key> |
| 60 | </entry> |
| 61 | <entry index="1"> |
| 62 | <value> |
| 63 | <y>112.0</y> |
| 64 | <x>229.0</x> |
| 65 | </value> |
| 66 | <key>18640</key> |
| 67 | </entry> |
| 68 | </entries> |
| 69 | }}} |