Dev:Wiki Structuring Guidelines

From railML 3 Wiki
Revision as of 18:49, 13 December 2021 by RailML Coord Documentation (talk | contribs) (trac→gitlab)
Jump to navigation Jump to search

Structuring Guidelines for Element Pages
 

Focus

This page explains, how to structure an element documentation page within The railML® 2 wiki and The railML® 3 wiki. A General outline for contibuting to this wiki can be found here. If you want to start contributing to this wiki, please begin with this outline.

Currently (April 2020) not all parts of the railML® 2 wiki contain all descriptions in the correct section. Please be indulgent and support us in maintaining the Wiki.
Derzeit enthalten nicht alle Teile des railML® 2 Wikis alle Beschreibungen im richtigen Abschnitt. Bitte seien Sie nachsichtig und unterstützen Sie uns bei der Pflege des Wikis.

Purpose

Element pages in the railML® wikis are being created with templates: Template:DocBase and Template:Schemaexport in the railML® 3 wiki and Template:ElementDocu in the railML® 2 wiki. Employing these templates grants for a standardized design. The template specifies the paragraphs of element pages. Please, enter the relevant information for the element in the designated paragraphs according to the rules set below. This clearcut structure serves two aims:

  • It helps users to find relevant information.
  • This structure sets a frame for the certification.

Structure in the railML® 2 Wiki

In the railML® 2 wiki, element pages are made by hand with Template:ElementDocu.

Template:ElementDocu creates the following paragraphs:
(But some of them only, if used)

  • Position of XYZ in the XML-Tree:
    • Shall contain the position of the element in the XML tree.
    • Generated manually by the coordinator straightforward from the schema. Please do not edit.
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.
      Zertifizierung: Die Übereinstimmung mit der Beschreibung im Wiki ist relevant für eine Erfüllung der Vorgaben.
  • Multiplicity:
    • Shall contain the element multiplicity.
    • Generated manually by the coordinator straightforward from the schema. Please do not edit.
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.
      Zertifizierung: Die Übereinstimmung mit der Beschreibung im Wiki ist relevant für eine Erfüllung der Vorgaben.
  • Semantics:
    • Shall contain the element semantics.
      (the meaning of an element, compare semantics (Wiki banner.png)).
    • Example: <balise> is defined as a single balise and its attributes, where a balise is an electronic beacon or transponder placed between the rails of a railway as part of an Automatic Train Protection (ATP) system.
    • This paragraph is developed by the railML® community.
    • Should only state the meaning of the element.
    • No rules or explanations should be presented here. Concise remarks like “not to be confused with” are allowed, if they narrow down the meaning.
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.
      Zertifizierung: Die Übereinstimmung mit der Beschreibung im Wiki ist relevant für eine Erfüllung der Vorgaben.
  • Attributes:
    • Shall contain the attribute semantics.
      (the meaning of an attribute, compare semantics (Wiki banner.png)).
      The attribute semantics will usually refer to the respective element semantics and explain, how the attribute can influence the meaning of the element.
    • Example: <balise>@dir explains, that a balise may be relevant only for one direction.
    • This paragraph is developed by the railML® community.
    • Do not place rules or explanations here. Concise remarks like “not to be confused with” are allowed, if they narrow down the meaning.
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.
      Zertifizierung: Die Übereinstimmung mit der Beschreibung im Wiki ist relevant für eine Erfüllung der Vorgaben.
  • Syntactic constraints:
    • Shall contain syntactic constraints set within the schema.
    • Generated manually by the coordinator straightforward from the schema. Please do not edit.
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.
      Zertifizierung: Die Übereinstimmung mit der Beschreibung im Wiki ist relevant für eine Erfüllung der Vorgaben.
  • Semantic constraints:
    • Shall contain semantic constraints.
    • Semantic constraints should be added only by the subschema coordinator or in reconcilement with him (the procedure is explained here).
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.
      Zertifizierung: Die Übereinstimmung mit der Beschreibung im Wiki ist relevant für eine Erfüllung der Vorgaben.
  • Best Practice/Examples:
    • Shall contain best practices; national rules and peculiarities as well as code examples.
    • This paragraph is developed by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.
      Zertifizierung: Diese Angaben sind nicht direkt relevant für eine Erfüllung der Vorgaben und sollen beim Verständnis von railML® unterstützen.
  • Open Issues:
    • Shall contain open discussions and unsolved problems. Not to be used as discussion board (use https://forum.railML.org (link to the railML® website) instead; links to the forum discussion are welcome) nor as ticket system (use the ticket system instead; links to tickets are welcome).
    • This paragraph can be edited by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.
      Zertifizierung: Diese Angaben sind nicht direkt relevant für eine Erfüllung der Vorgaben und sollen beim Verständnis von railML® unterstützen.
  • Notes:
    • Shall contain anything that does not fit into other paragraphs.
    • This paragraph is developed by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.
      Zertifizierung: Diese Angaben sind nicht direkt relevant für eine Erfüllung der Vorgaben und sollen beim Verständnis von railML® unterstützen.

Structure in the railML® 3 Wiki

In the railML® 3 wiki, element pages are created via GWPS[1]. GWPS will for each element create a hand page that is supposed for content created by the wiki authors (best practice, notes etc) and a robot page that contains information directly retrieved from the schema and that the wiki authors should generally not touch. The robot page will be framed within the hand page.

Paragraphs Hand Pages

Hand pages are created by GWPS[1] with Template:DocBase (which will be expanded by creation). Template:DocBase creates the following paragraphs:

  • Introduction:
    • Shall contain a short introduction.
    • This paragraph is developed by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.
  • Documentation:
    • Container for subchapters Syntax, Semantics and (possibly) Semantic Constraints.
    • This paragraph should not be edited manually, except within the subparagraphs Semantics and Semantic Constraints.
  • Syntax:
    • Here the robot pages are being framed.
    • Do not edit manually!
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements (see below).
  • Semantics:
    • Shall contain the semantics (meaning, compare semantics (Wiki banner.png)) of elements and attributes as well as semantic constraints.
    • Generally speaking, this paragraph is a backup, as the semantics should be recorded within the schema and presented under #Syntax. Still it may be necessary for clarifications, for missing documentation within the schema and off course for semantic constraints.
      Example: in <requiresSwitchInPosition> the semantics is explained within the schema as the reference to any switch in the overlap required to be in a particular position and its position and @mustOrShould as the level of enforcement.
    • This paragraph is developed by the railML® community.
    • Should only state the meaning of the element respectively attribute.
    • No rules or explanations should be presented here. Concise remarks like “not to be confused with” are allowed, if they narrow down the meaning.
    • Semantic constraints should be added only by the subschema coordinator or in reconcilement with him (the procedure is explained here).
    • Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements. There will be special attention on the obedience of semantic constraints.
  • Best Practice / Examples:
    • Shall contain best practice; national rules and peculiarities; Code examples.
    • This paragraph is developed by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.
  • Additional Information:
    • Container for subchapters Notes and Open Issues.
    • This paragraph should not be edited manually, except within the subparagraphs Notes and Open Issues.
  • Notes:
    • Shall contain Anything that does not fit into other paragraphs.
    • This paragraph is developed by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.
  • Open Issues:
    • Shall contain open discussions and unsolved problems.
    • This paragraph can be edited by the railML® community.
    • Certification: This information is not directly relevant for compliance with the specifications and is intended to assist in understanding railML®.

Paragraphs Robot Pages

Robot pages are created by GWPS[1] with Template:Schemaexport.

Certification: Compliance with the description in the Wiki is relevant for fulfilling the requirements.

  1. 1.0 1.1 1.2 GWPS = Gruschwitz' Wonderful Python Script