|
@@ -1,69 +1,58 @@
|
|
|
-{%- macro attributes(pageindex, page, layerindex, layer, elementindex, element) -%}
|
|
|
-{%- for key,value in element.attributes.items() %}
|
|
|
- ci p{{pageindex}}l{{layerindex}}e{{elementindex}}a{{loop.index}} : xopp:XMLAttribute [
|
|
|
- dict:hasKey "{{key}}"
|
|
|
- dict:hasValue "{{value}}"
|
|
|
- xopp:ofLayerElement p{{pageindex}}l{{layerindex}}e{{elementindex}}
|
|
|
- object_diagram:inModel model
|
|
|
- ]
|
|
|
-{% endfor %}
|
|
|
-{%- endmacro -%}
|
|
|
-
|
|
|
-{%- macro elements(pageindex, page, layerindex, layer) -%}
|
|
|
-{% for el in layer.elements %}
|
|
|
- ci p{{pageindex}}l{{layerindex}}e{{loop.index}} : xopp:{{el.__class__.__name__}} [
|
|
|
- xopp:hasText "{{el.text}}"
|
|
|
- xopp:inLayer p{{pageindex}}l{{layerindex}}
|
|
|
- object_diagram:inModel model
|
|
|
- ]
|
|
|
- {{ attributes(pageindex, page, layerindex, layer, loop.index, el) -}}
|
|
|
-{% endfor %}
|
|
|
-{%- endmacro -%}
|
|
|
-
|
|
|
-{%- macro layers(pageindex, page) -%}
|
|
|
-{% for layer in page.layers %}
|
|
|
- ci p{{pageindex}}l{{loop.index}} : xopp:Layer [
|
|
|
- xopp:inPage p{{pageindex}}
|
|
|
- object_diagram:inModel model
|
|
|
- ]
|
|
|
- {{ elements(pageindex, page, loop.index, layer) -}}
|
|
|
-{% endfor %}
|
|
|
-{%- endmacro -%}
|
|
|
-
|
|
|
-{%- macro pages(file) -%}
|
|
|
-{% for page in file.pages -%}
|
|
|
- ci p{{loop.index}} : xopp:Page [
|
|
|
- xopp:hasWidth {{ page.width }}
|
|
|
- xopp:hasHeight {{ page.height }}
|
|
|
- xopp:hasBackgroundType "{{ page.background_type }}"
|
|
|
- xopp:hasBackgroundColor "{{ page.background_color }}"
|
|
|
- xopp:hasBackgroundStyle "{{ page.background_style }}"
|
|
|
- xopp:inFile file
|
|
|
- object_diagram:inModel model
|
|
|
- ]
|
|
|
- {{ layers(loop.index, page) -}}
|
|
|
-{%- endfor %}
|
|
|
-{%- endmacro -%}
|
|
|
// Warning: Generated code! Do not edit!
|
|
|
// Input file: '{{inputfile}}'
|
|
|
// Generator: https://msdl.uantwerpen.be/git/jexelmans/xopp2py
|
|
|
-description <http://flandersmake.be/cdf/description/{{namespace}}#> as {{namespace}} {
|
|
|
|
|
|
- uses <http://flandersmake.be/cdf/vocabulary/xopp#> as xopp
|
|
|
- uses <http://flandersmake.be/cdf/vocabulary/object_diagram#> as object_diagram
|
|
|
- uses <http://flandersmake.be/cdf/vocabulary/dict#> as dict
|
|
|
+description <{{namespaces.description}}#> as {{namespaces.shorthand}} {
|
|
|
+
|
|
|
+ uses <{{namespaces.xopp}}#> as xopp
|
|
|
+ uses <{{namespaces.object_diagram}}#> as object_diagram
|
|
|
+ uses <{{namespaces.dict}}#> as dict
|
|
|
|
|
|
ci model : xopp:Model []
|
|
|
|
|
|
ci file : xopp:File [
|
|
|
- xopp:hasCreator "{{ file.creator }}"
|
|
|
+ xopp:hasCreator {{ file.creator | to_oml_string_literal }}
|
|
|
xopp:hasFileVersion {{ file.fileversion }}
|
|
|
- xopp:hasTitle "{{ file.title }}"
|
|
|
+ xopp:hasTitle {{ file.title | to_oml_string_literal }}
|
|
|
{%- if file.preview != None %}
|
|
|
- xopp:hasPreview "{{ toBase64(file.preview).decode('utf-8') }}"
|
|
|
+ xopp:hasPreview {{ file.preview | to_base64_string }}
|
|
|
{%- endif %}
|
|
|
object_diagram:inModel model
|
|
|
]
|
|
|
|
|
|
- {{ pages(file) }}
|
|
|
+ {% for page_index, page in enumerate(file.pages) %}
|
|
|
+ ci p{{page_index}} : xopp:Page [
|
|
|
+ xopp:hasWidth {{ page.width }}
|
|
|
+ xopp:hasHeight {{ page.height }}
|
|
|
+ xopp:hasBackgroundType {{ page.background_type | to_oml_string_literal }}
|
|
|
+ xopp:hasBackgroundColor {{ page.background_color | to_oml_string_literal }}
|
|
|
+ xopp:hasBackgroundStyle {{ page.background_style | to_oml_string_literal }}
|
|
|
+ xopp:inFile file
|
|
|
+ object_diagram:inModel model
|
|
|
+ ]
|
|
|
+
|
|
|
+ {%- for layer_index, layer in enumerate(page.layers) %}
|
|
|
+ ci p{{page_index}}l{{layer_index}} : xopp:Layer [
|
|
|
+ xopp:inPage p{{page_index}}
|
|
|
+ object_diagram:inModel model
|
|
|
+ ]
|
|
|
+
|
|
|
+ {%- for el_index, el in enumerate(layer.elements) %}
|
|
|
+ ci p{{page_index}}l{{layer_index}}e{{el_index}} : xopp:{{el.__class__.__name__}} [
|
|
|
+ xopp:hasText {{el.text | to_oml_string_literal}}
|
|
|
+ xopp:inLayer p{{page_index}}l{{layer_index}}
|
|
|
+ object_diagram:inModel model
|
|
|
+ ]
|
|
|
+
|
|
|
+ {%- for key, value in el.attributes.items() %}
|
|
|
+ ci p{{page_index}}l{{layer_index}}e{{el_index}}a{{loop.index}} : xopp:XMLAttribute [
|
|
|
+ dict:hasKey {{key | to_oml_string_literal}}
|
|
|
+ dict:hasValue {{value | to_oml_string_literal}}
|
|
|
+ xopp:ofLayerElement p{{page_index}}l{{layer_index}}e{{el_index}}
|
|
|
+ object_diagram:inModel model
|
|
|
+ ]
|
|
|
+ {% endfor %}
|
|
|
+ {% endfor %}
|
|
|
+ {% endfor %}
|
|
|
+ {% endfor %}
|
|
|
}
|