SpecialSymbolsExample

De Semantic MediaWiki - Sandbox

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 ={[}]<



Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de cookies.