SpecialSymbolsExample
This page shows a partial example of how to use semantic mediawiki via templates when page values contain characters (semantic) mediawiki uses for its template and/or property setting syntax.
The problematic symbols are
| = { } [ ] <
In various combinations or patterns these mess up the parsing of pages defined by mediawiki templates and with the semantic mediawiki property setting syntax.
While documentation for escaping `|` is easy to find, documentation for escaping the other special symbols is harder to discover - but can be found here on the mediawiki site.
| {{!}}
= {{=}}
{ {{(}}
} {{)}}
[ {{!(}}
] {{!)}}
< {{lessthan}}
However, as on this sandbox site, many of these "escape" templates are not predefined - but they are easy to define as needed.
These escapes are used in the defining template:
{{SpecialSymbolsTemplate
|simple=no special symbols here!
|code={{!}}{{=}}{{(}}{{!(}}{{)}}{{!)}}{{lessthan}}
}}
The template can display this value without any further issues or enclose in html tags for display.
{{{code|}}}
<code>{{{code|}}}</code>
<div class="smwpre">{{{code|}}}<div>
The automatic property data-type dependent display implemented by semantic mediawiki is not available since the
[[Has code::{{{code|}}}]]technique does not work.
The template should populate the relevant property using the #set: technique.
{{#set:|Has code={{{code|}}}}}
PageForms does not appear to support the editing of such fields other than by treating them literally.
| SIMPLE | no special symbols here! |
|---|---|
| CODE | ={[}]< |