{% extends "base.html" %} {% macro render_tree(nodes) -%} {%- endmacro %} {% block content %}

{{ 'Global element' if item_kind == 'element' else ('Complex type' if item.kind == 'complexType' else 'Simple type') }}{% if item.abstract %} abstract{% endif %}

{{ item.name }}

{{ item.qualified_name }}

{% if item.source_path %}

Defined in {{ item.source_path }}{% if item.source_line %}:{{ item.source_line }}{% endif %}{% if item.source_href %}View on GitHub{% endif %}

{% endif %} {% if item.documentation %}
{{ item.documentation }}
{% else %}

No documentation provided.

{% endif %} {% if item_kind == 'element' and item.type_name %}

Type

{% if item.type_href %}{{ item.type_name }}{% else %}{{ item.type_name }}{% endif %}

{% elif item_kind == 'type' and item.base_type_name %}

Base type

{% if item.base_type_href %}{{ item.base_type_name }}{% else %}{{ item.base_type_name }}{% endif %}

{% endif %} {% if item_kind == 'type' and item.restrictions %}

Restrictions

{% endif %} {% if item_kind == 'type' and item.item_type_name %}

Item type

This is a list type; each value is a whitespace-separated sequence of items of type {% if item.item_type_href %}{{ item.item_type_name }}{% else %}{{ item.item_type_name }}{% endif %}.

{% endif %} {% if item_kind == 'type' and item.member_types %}

Member types

This is a union type; a value must match one of the following types.

{% endif %} {% if item_kind == 'element' and (item.substitution_group_name or item.referenced_by_elements) %} {% endif %} {% if item_kind == 'element' and item.substitution_members %}

Direct substitution members

{% for related in item.substitution_members %}
{{ related.name }}{% if related.abstract %} abstract{% endif %}
{% endfor %}
{% endif %} {% if item_kind == 'element' and item.concrete_substitution_members %}

Concrete substitution alternatives

Elements that can actually appear in an instance document wherever this element's substitution group is accepted, gathered from the full substitution-group chain below it.

{% for related in item.concrete_substitution_members %} {% endfor %}
{% endif %} {% if item_kind == 'type' and item.enumeration_values %}

Allowed values

{% for value in item.enumeration_values %}
{{ value }} {% if item.enumeration_source_paths[loop.index0] %}{{ item.enumeration_source_paths[loop.index0].split('/')[-1] }}{% if item.enumeration_source_lines[loop.index0] %}:{{ item.enumeration_source_lines[loop.index0] }}{% endif %}{% endif %} {% if item.enumeration_source_hrefs[loop.index0] %}Source{% endif %} {% if item.enumeration_docs[loop.index0] %}
{{ item.enumeration_docs[loop.index0] }}
{% endif %}
{% endfor %}
{% endif %} {% if item_kind == 'type' and item.used_by_elements %}

Used by elements

{% for related in item.used_by_elements %}
{{ related.name }}{% if related.abstract %} abstract{% endif %}
{% endfor %}
{% endif %} {% if item_kind == 'type' and item.derived_types %}

Derived types

{% for related in item.derived_types %}
{{ related.name }}{% if related.abstract %} abstract{% endif %}
{% endfor %}
{% endif %} {% if item_kind == 'element' and item.identity_constraints %}

Referential integrity

Identity constraints

{{ item.identity_constraints|length }}
{% set kind_titles = {'key': 'Key: the selected field(s) must be unique and present for every node matched by the selector.', 'keyref': 'Key reference: the selected field(s) must match a key or unique value declared elsewhere.', 'unique': 'Uniqueness: the selected field(s) must be unique (may be absent) for every node matched by the selector.'} %} {% for constraint in item.identity_constraints %} {% endfor %}
ConstraintSelectorFieldsRefers to
{{ constraint.kind }} {{ constraint.name }}
{% if constraint.source_path %}{{ constraint.source_path.split('/')[-1] }}{% if constraint.source_line %}:{{ constraint.source_line }}{% endif %}{% endif %} {% if constraint.source_href %} Source{% endif %} {% if constraint.documentation %}
{{ constraint.documentation }}
{% endif %}
{{ constraint.selector }} {% for field_path in constraint.fields %}{{ field_path }}{% if not loop.last %}
{% endif %}{% endfor %}
{% if constraint.refer_name %}{% if constraint.refer_href %}{{ constraint.refer_name }}{% else %}{{ constraint.refer_name }}{% endif %}{% else %}—{% endif %}
{% endif %} {% if item.structure %}

Content model

{{ 'Element structure' if item_kind == 'element' else 'Type structure' }}

{{ item.structure|length }} top-level
{{ render_tree(item.structure) }}
{% endif %} {% if item.attributes %}

Properties

Attributes

{{ item.attributes|length }}
{% for attribute in item.attributes %} {% endfor %}
AttributeTypeUseDocumentation
{{ attribute.name }}{% if attribute.source_path %} {{ attribute.source_path.split('/')[-1] }}{% if attribute.source_line %}:{{ attribute.source_line }}{% endif %}{% endif %}{% if attribute.source_href %} Source{% endif %}
{{ attribute.qualified_name }}
{% if attribute.type_href %}{{ attribute.type_name }}{% elif attribute.type_name %}{{ attribute.type_name }}{% else %}—{% endif %} {{ attribute.use }}{% if attribute.default %}
default: {{ attribute.default }}
{% endif %}{% if attribute.fixed %}
fixed: {{ attribute.fixed }}
{% endif %}
{% if attribute.documentation %}
{{ attribute.documentation }}
{% else %}—{% endif %}
{% endif %} {% if not item.structure and not item.children and not item.attributes and not item.enumeration_values and not item.restrictions and not item.item_type_name and not item.member_types and not item.identity_constraints %}
No child elements or attributes are defined for this {{ item_kind }}.
{% endif %}
{% endblock %}