{%- macro m_law(law) -%} {%- for el in law.children -%} {%- if el.tag == 'LawBody' -%} {{- m_law_body(el) -}} {%- elif el.tag == 'LawNum' -%} {%- else -%} {{- m_element(el) -}} {%- endif -%} {%- endfor -%} {%- endmacro -%} {%- macro m_law_body(law_body) -%} {%- for el in law_body.children -%} {%- if el.tag == 'LawTitle' -%} {{- m_law_title(el) -}} {%- elif el.tag == 'EnactStatement' -%} {{- m_enact_statement(el) -}} {%- elif el.tag == 'TOC' -%} {{- m_toc(el) -}} {%- elif el.tag in ['MainProvision', 'SupplProvision'] -%} {{- m_article_group(el) -}} {%- elif el.tag == 'AppdxTable' -%} {{- m_appdx_table(el) -}} {%- elif el.tag == 'AppdxStyle' -%} {{- m_appdx_style(el) -}} {%- else -%} {{- m_element(el) -}} {%- endif -%} {%- endfor -%} {%- endmacro -%} {%- macro m_law_title(law_title) -%}
{{- ('' + m_element_raw(el)) | escape -}}{%- endmacro -%} {%- macro m_element_raw(el) -%} {%- if not el -%} {%- elif not el.tag -%} {{- el | escape -}} {%- else -%} <{{ el.tag }} {%- for key, value in el.attr | dictsort -%} {{- ' ' -}}{{- key -}}="{{- value -}}" {%- endfor -%}> {%- for child in el.children -%} {%- if not child.tag -%} {{- child -}} {%- else -%} {{- m_element_raw(child) -}} {%- endif -%} {%- endfor -%} {{ el.tag }}> {%- endif -%} {%- endmacro -%} {%- macro m_text(el) -%} {%- if not el -%} {%- elif not el.tag -%} {{- el -}} {%- else -%} {%- for child in el.children -%} {%- if not child.tag -%} {{- child -}} {%- elif child.tag == 'Ruby' -%} {{- m_element_raw(child) -}} {%- else -%} {{- m_element(child) -}} {%- endif -%} {%- endfor -%} {%- endif -%} {%- endmacro -%}