<span class="tag_name">
	{{m.tag|escape}}
</span>

<br>
&nbsp; &nbsp;
<% if (m.parent && m.parent.schema && m.parent.schema.additionalProperties) { %>
	element (appears in an array and can have any name)
<% } else { %>
	property (describes its parent and has a specific name)
<% } %>

<% if (m.schema && m.schema.additionalProperties && m.schema.additionalProperties.properties) { %>
	<br/>
	&nbsp; &nbsp;
	
	<span>array of
		<em>objects</em>
		(its children are elements and can have any name)
	</span>

<% } else if (m.schema && m.schema.additionalProperties && m.schema.additionalProperties.type) { %>
	<br/>
	&nbsp; &nbsp;
	
	<span>
		array of
		<em>{{devTools.arrayToList(m.schema.additionalProperties.type)|escape}}</em>
		(its children are elements and can have any name)
	</span>

<% } else if (m.schema && m.schema.type) { %>
	<br/>
	&nbsp; &nbsp;
	
	<span>
		<em>{{devTools.arrayToList(m.schema.type)|escape}}</em>
	
		<% if (m.schema.type == 'object') { %>
			(its children are properties and have specific names)
		<% }  %>
	</span>

<% } else if (m.schema && m.schema.enum) { %>
	<br/>
	&nbsp; &nbsp;
	<span><em>
		enum ({{devTools.arrayToList(m.schema.enum)|escape}})
	</em></span>
<% } %>

<% if (m.parent && m.parent.schema && m.parent.schema.additionalProperties) { %>
<% } else { %>
	<br/>
	&nbsp; &nbsp;
	<% if (m.data === undefined) { %>
		<% if (m.isRequired) { %>
			missing required property
		<% } else { %>
			optional, isn't set
		<% } %>
	<% } else { %>
		<% if (m.isRequired) { %>
			required
		<% } else { %>
			optional
		<% } %>
	<% } %>
<% } %>

<% if (m.schema.description) { %>
	<span class="tooltip_desc">
		{{marked(m.schema.description, {breaks: true})}}
	</span>
<% } %>