<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://battery.knowledge-graph.eu/w/index.php?action=history&amp;feed=atom&amp;title=Item%3AOSW7113f5cf921a4c82ad1872afeff9d01d</id>
	<title>Item:OSW7113f5cf921a4c82ad1872afeff9d01d - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://battery.knowledge-graph.eu/w/index.php?action=history&amp;feed=atom&amp;title=Item%3AOSW7113f5cf921a4c82ad1872afeff9d01d"/>
	<link rel="alternate" type="text/html" href="https://battery.knowledge-graph.eu/w/index.php?title=Item:OSW7113f5cf921a4c82ad1872afeff9d01d&amp;action=history"/>
	<updated>2026-05-11T12:47:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://battery.knowledge-graph.eu/w/index.php?title=Item:OSW7113f5cf921a4c82ad1872afeff9d01d&amp;diff=41&amp;oldid=prev</id>
		<title>Maintenance script: Install package: OSW Docs - Core</title>
		<link rel="alternate" type="text/html" href="https://battery.knowledge-graph.eu/w/index.php?title=Item:OSW7113f5cf921a4c82ad1872afeff9d01d&amp;diff=41&amp;oldid=prev"/>
		<updated>2023-12-15T05:13:23Z</updated>

		<summary type="html">&lt;p&gt;Install package: OSW Docs - Core&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Conventional approach: Using a single slot (main) and multiple pages==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;You can have &amp;lt;code&amp;gt;content-model = wikitext&amp;lt;/code&amp;gt; for pages, templates, forms, etc.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Some unstructured text&lt;br /&gt;
{{MyTemplate&lt;br /&gt;
|param1=value1&lt;br /&gt;
}}&lt;br /&gt;
{{#aparserfunction:}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;or &amp;lt;code&amp;gt;content-model = json&amp;lt;/code&amp;gt; without any specific rendering&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;param1&amp;quot;: &amp;quot;value1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Problems:&lt;br /&gt;
&lt;br /&gt;
*you can have rendered page content or structured page content&lt;br /&gt;
*content is distributed over multiple pages&lt;br /&gt;
&lt;br /&gt;
==Conventional approach: Using a single slot (main) and a single page==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;Store structured data within nested templates in wikitext&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Some unstructured text&lt;br /&gt;
{{MyDataTemplate&lt;br /&gt;
  |text=some text&lt;br /&gt;
  |number=123&lt;br /&gt;
  |array=1;two;3.0&lt;br /&gt;
  |nested={{MySubDataTemplate&lt;br /&gt;
    |param=value&lt;br /&gt;
  }}&lt;br /&gt;
  watch out, i am a nested string&lt;br /&gt;
  {{MySubDataTemplate&lt;br /&gt;
    |param=value2&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{#aparserfunction:}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;json-equivalent&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@type&amp;quot;: &amp;quot;MyDataTemplate&amp;quot;,&lt;br /&gt;
    &amp;quot;text&amp;quot;: &amp;quot;some text&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;: 123,&lt;br /&gt;
    &amp;quot;array&amp;quot;: [1,&amp;quot;two&amp;quot;,3.0],&lt;br /&gt;
    &amp;quot;nested&amp;quot;: [{&lt;br /&gt;
        &amp;quot;@type&amp;quot;: &amp;quot;MySubDataTemplate&amp;quot;,&lt;br /&gt;
        &amp;quot;param&amp;quot;: &amp;quot;value&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;watch out, i am a nested string&amp;quot;,&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;@type&amp;quot;: &amp;quot;MySubDataTemplate&amp;quot;,&lt;br /&gt;
        &amp;quot;param&amp;quot;: &amp;quot;value&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;Problems&lt;br /&gt;
*Extensions like SMW only cover reading mappend template params as json&lt;br /&gt;
*Extensions like PageForms require a individual form to edit the data&lt;br /&gt;
*=&amp;gt; In general you need a template-parser (e. g. wikitext to json) in your client software at least to edit/write data in general&lt;br /&gt;
*=&amp;gt; Doing so requires guessing of data types and correct interpretation of arrays&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Luckily we have Multi-Content-Revisions (MCR)==&lt;br /&gt;
Lets add a &amp;lt;code&amp;gt;jsondata&amp;lt;/code&amp;gt; slot&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Slot!!Content Model&lt;br /&gt;
|-&lt;br /&gt;
|main||wikitext&lt;br /&gt;
|-&lt;br /&gt;
|jsondata&lt;br /&gt;
|json&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Some unstructured text&lt;br /&gt;
&lt;br /&gt;
{{#aparserfunction:}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; &amp;lt;code&amp;gt;jsondata&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@type&amp;quot;: &amp;quot;MyDataTemplate&amp;quot;,&lt;br /&gt;
    &amp;quot;text&amp;quot;: &amp;quot;some text&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;: 123,&lt;br /&gt;
    &amp;quot;array&amp;quot;: [1,&amp;quot;two&amp;quot;,3.0]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Would be nice to validate the json data==&lt;br /&gt;
Lets add a &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; slot for Category pages&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Slot!!Content Model&lt;br /&gt;
|-&lt;br /&gt;
|main||wikitext&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;jsondata&amp;#039;&amp;#039;&amp;#039;||json&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;jsonschema&amp;#039;&amp;#039;&amp;#039;||json&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Category:MyCategory &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; },&lt;br /&gt;
        &amp;quot;number&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot; },&lt;br /&gt;
        &amp;quot;array&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Item:MyInstance &amp;lt;code&amp;gt;jsondata&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@type&amp;quot;: &amp;quot;MyDataTemplate&amp;quot;,&lt;br /&gt;
    &amp;quot;text&amp;quot;: &amp;quot;some text&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;: 123,&lt;br /&gt;
    &amp;quot;array&amp;quot;: [1,&amp;quot;two&amp;quot;,3.0]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==If we have a jsonschema, we get the editor &amp;amp; validator for free==&lt;br /&gt;
https://github.com/json-editor/json-editor&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Category:MyCategory &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;My Form&amp;quot;,&lt;br /&gt;
    &amp;quot;title*&amp;quot;: {&amp;quot;de&amp;quot;: &amp;quot;Mein Formular&amp;quot;} ,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;color&amp;quot;: { &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;color&amp;quot; &lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;number&amp;quot;: { &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;, &lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;not a string!&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Item:MyInstance &amp;lt;code&amp;gt;jsondata&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;color&amp;quot;: &amp;quot;#ff0000&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;: &amp;quot;123&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;JsonEditor json-editor-compact&amp;quot; style=&amp;quot;font-size:medium&amp;quot; data-config=&amp;#039;{&amp;quot;schema&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;My Form&amp;quot;,&lt;br /&gt;
            &amp;quot;title*&amp;quot;: {&amp;quot;de&amp;quot;: &amp;quot;Mein Formular&amp;quot;} ,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;color&amp;quot;: { &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, &lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;color&amp;quot; &lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;number&amp;quot;: { &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;, &lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;not a string!&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}, &amp;quot;data&amp;quot;: {&lt;br /&gt;
    &amp;quot;color&amp;quot;: &amp;quot;#ff0000&amp;quot;,&lt;br /&gt;
    &amp;quot;number&amp;quot;: &amp;quot;one&amp;quot;&lt;br /&gt;
}, &amp;quot;mode&amp;quot;:&amp;quot;default&amp;quot;}&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Classes, Instances, Inheritance? ==&lt;br /&gt;
Lets add a &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; slot for Category pages&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Slot!!Content Model&lt;br /&gt;
|-&lt;br /&gt;
|main|| wikitext&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;jsondata&amp;#039;&amp;#039;&amp;#039;|| json&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;jsonschema&amp;#039;&amp;#039;&amp;#039;|| json&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Category:MyCategory &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; },&lt;br /&gt;
        &amp;quot;number&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot; },&lt;br /&gt;
        &amp;quot;array&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Category:MySubCategory &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;allOf&amp;quot;: &amp;quot;/wiki/Category:MyCategory?action=raw&amp;amp;slot=jsonschema&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;additional_property&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Context and Semantic MediaWiki==&lt;br /&gt;
Lets add a json-ld context within the &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; slot for Category pages&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Slot!!Content Model&lt;br /&gt;
|-&lt;br /&gt;
|main||wikitext&lt;br /&gt;
|-&lt;br /&gt;
|jsondata||json&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;jsonschema&amp;#039;&amp;#039;&amp;#039;||json&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt; Category:MySubCategory &amp;lt;code&amp;gt;jsonschema&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@context&amp;quot;: [&lt;br /&gt;
        &amp;quot;/wiki/Category:MyCategory?action=raw&amp;amp;slot=jsonschema&amp;quot;,&lt;br /&gt;
       {&lt;br /&gt;
            &amp;quot;schema&amp;quot;: &amp;quot;https://schema.org/&amp;quot;,&lt;br /&gt;
            &amp;quot;Property&amp;quot;: &amp;quot;&amp;lt;my.domain&amp;gt;/id/&amp;quot;,&lt;br /&gt;
            &amp;quot;image&amp;quot;: &amp;quot;schema:image&amp;quot;,&lt;br /&gt;
            &amp;quot;image*&amp;quot;: &amp;quot;Property:HasProperty&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;allOf&amp;quot;: &amp;quot;/wiki/Category:MyCategory?action=raw&amp;amp;slot=jsonschema&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;additional_property&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Item:MyInstance &amp;lt;code&amp;gt;jsondata&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=&amp;gt; &amp;lt;nowiki&amp;gt;[[HasProperty:{{{additional_property|}}}]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interconnection with the wikiparser==&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count: 2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;Additional slots rendered by the wiki parser&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot&lt;br /&gt;
!Content Model&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|main&lt;br /&gt;
|wikitext&lt;br /&gt;
|default content slot, rendered between the page header and footer&lt;br /&gt;
|-&lt;br /&gt;
|jsondata&lt;br /&gt;
|json&lt;br /&gt;
|structured data&lt;br /&gt;
|-&lt;br /&gt;
|jsonschema&lt;br /&gt;
|json&lt;br /&gt;
|stored within a category (=class) page, defining the schema for the jsondata slot of any category member (instance)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;header_template&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|wikitext&lt;br /&gt;
|stored within a category (=class) page, renders the &amp;#039;&amp;#039;&amp;#039;page header&amp;#039;&amp;#039;&amp;#039; of any &amp;#039;&amp;#039;&amp;#039;category member (instance)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;footer_template&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|wikitext&lt;br /&gt;
|stored within a &amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039; (=class) page, renders the &amp;#039;&amp;#039;&amp;#039;page footer&amp;#039;&amp;#039;&amp;#039; of any &amp;#039;&amp;#039;&amp;#039;category member (instance)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;header&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|wikitext&lt;br /&gt;
|renders the &amp;#039;&amp;#039;&amp;#039;page header&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt; via {{#invoke: Entity|header}}*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;footer&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|wikitext&lt;br /&gt;
|renders the &amp;#039;&amp;#039;&amp;#039;page footer&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt; via {{#invoke: Entity|footer}}*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&amp;lt;div style=&amp;quot;break-inside: avoid;&amp;quot;&amp;gt;Footer / Header template&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Entries of my_list:&lt;br /&gt;
{{{my_list|}}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Property-specific templates within the schema&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;my_list&amp;quot;: { &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;, &lt;br /&gt;
            &amp;quot;eval_template&amp;quot;: {&lt;br /&gt;
                &amp;quot;type&amp;quot;: &amp;quot;mustache-wikitext&amp;quot;,&lt;br /&gt;
                &amp;quot;value&amp;quot;: &amp;quot;{{#my_list}} * [[{{{.}}}]] &amp;lt;br&amp;gt; {{/my_list}}&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;nowiki&amp;gt;*Wiki-side feature are implemented in Lua =&amp;gt; To be rewritten in PHP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Why are parser calls needed at all? Currently there seems no options to provide a hook from the core that allows injecting slot-specific content&lt;br /&gt;
&lt;br /&gt;
== Further links ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/OpenSemanticLab (The software stack behind)&lt;br /&gt;
* Google structured data validator: https://search.google.com/test/rich-results/result?id=hbvnEP-_VO0pG-KPPLLkDQ&lt;br /&gt;
* Schema PagePackages: https://github.com/orgs/OpenSemanticWorld-Packages/repositories&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>