A more detailed doctype declaration with non-standard properties and sections.

Example

The following example shows the definition of a sample doctype. Besides localized information, it provides definitions for properties and sections.

Add-on Descriptor Example
<?xml version='1.0'?>
<doctype
  xmlns="http://smartics.de/xsd/projectdoc/doctype/1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  id="security-view"
  base-template="standard"
  provide-type="standard-type">
  <resource-bundle>
    <l10n>
      <name>Security View</name>
      <description>
        Provide security information on a service.
      </description>
      <about>
        Security information adds one additional view on a service. This view
        documents potential threats and means to mitigate them. The
        documentation supports teams to understand all security issues
        associated with a service.
      </about>
    </l10n>
    <l10n locale="de">
      <name plural="Sicherheitssichten">Sicherheitssicht</name>
      <description>
        Stellen Sie Informationen zur Sicherheit eines Services zusammen.
      </description>
      <about>
        Die Informationen zur Sicherheit stellen eine weitere Sicht auf einen
        Service bereit. Diese Sicht zeigt mögliche Bedrohungen und Mittel diesen
        Bedrohungen zu begegnen. Die Dokumentation ermöglicht ein Verständnis
        für die Sicherheitsbelange eines Services.
      </about>
      <type plural="Sicherheitssichttypen">Sicherheitssichttyp</type>
    </l10n>
  </resource-bundle>

  <properties>
    <property key="projectdoc.doctype.common.type">
      <value>
        <macro name="projectdoc-name-list">
          <param name="doctype">security-view-type</param>
          <param
            name="property"
            key="projectdoc.doctype.common.type" />
          <param name="render-no-hits-as-blank">true</param>
        </macro>
      </value>
    </property>
    <property key="projectdoc.doctype.security-view.service">
      <resource-bundle>
        <l10n>
          <name>Service</name>
          <description>
            Link to the service this view provides security information for.
          </description>
        </l10n>
        <l10n locale="de">
          <name>Service</name>
          <description>
            Verweisen Sie auf die Servicedokumentation, um Lesern einen
            schnellen Zugriff auf weitere
            Informationen zu dem beschriebenen
            Service zu erhalten.
          </description>
        </l10n>
      </resource-bundle>
    </property>
    <property key="projectdoc.doctype.security-view.external-dependencies">
      <resource-bundle>
        <l10n>
          <name>External Dependencies</name>
          <description>
            Link to security views of resources required for the operation of
            this service.
          </description>
        </l10n>
        <l10n locale="de">
          <name>Externe Abhängigkeit</name>
          <description>
            Verweisen Sie auf Sicherheitssichten von Komponenten, die für den
            Betrieb dieses Services relevant
            sind.
          </description>
        </l10n>
      </resource-bundle>
    </property>

    <property key="projectdoc.doctype.security-view.threat-targets">
      <resource-bundle>
        <l10n>
          <name>Threat Targets</name>
          <description>
            Link threat targets that are exposed through this service.
          </description>
        </l10n>
        <l10n locale="de">
          <name>Angriffsziele</name>
          <description>
            Verweisen Sie auf Ziele, die über diesen Service prinzipiell
            bedroht werden.
          </description>
        </l10n>
      </resource-bundle>
    </property>
  </properties>

  <sections>
    <section key="projectdoc.doctype.common.description">
      <resource-bundle>
        <l10n>
          <description>
            Provide a view on a service from the security perspective. Describe
            the service briefly and link to
            it for further information.
          </description>
        </l10n>
        <l10n locale="de">
          <description>
            Erstellen Sie eine Sicht auf einen Service aus der
            Sicherheitsperspektive. Halten Sie die
            Beschreibung kurz und
            fokussieren Sie auf die Belange der Sicherheit. Verweisen Sie auf die
            Servicedokumentation für weitere Informationen.
          </description>
        </l10n>
      </resource-bundle>
    </section>

    <section key="projectdoc.doctype.security-view.list-of-external-dependencies">
      <xml><![CDATA[<ac:structured-macro ac:name="projectdoc-section">
  <ac:parameter ac:name="title"><at:i18n at:key="projectdoc.doctype.security-view.list-of-external-dependencies"/></ac:parameter>
  <ac:parameter ac:name="intro-text"><at:i18n at:key="projectdoc.doctype.security-view.list-of-external-dependencies.intro"/></ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:name="projectdoc-tour-by-property-macro">
      <ac:parameter ac:name="property"><at:i18n at:key="projectdoc.doctype.security-view.external-dependencies"/></ac:parameter>
      <ac:parameter ac:name="render-counter-column">true</ac:parameter>
      <ac:parameter ac:name="render-no-hits-as-blank">true</ac:parameter>
      </ac:structured-macro>
    </ac:rich-text-body>
  </ac:structured-macro>]]></xml>
      <resource-bundle>
        <l10n>
          <name>List of external Dependencies</name>
          <intro>List of external resources this service depends on.</intro>
        </l10n>
        <l10n locale="de">
          <name>Liste externer Abhängigkeiten</name>
          <intro>List von externen Ressourcen von denen dieser Dienst direkt abhängt.</intro>
        </l10n>
      </resource-bundle>
    </section>

    <section key="projectdoc.doctype.security-view.entry-points">
      <xml><![CDATA[<ac:structured-macro ac:name="projectdoc-section">
            <ac:parameter ac:name="title"><at:i18n at:key="projectdoc.doctype.security-view.entry-points"/></ac:parameter>
            <ac:parameter ac:name="intro-text"><at:i18n at:key="projectdoc.doctype.security-view.intro"/></ac:parameter>
            <ac:rich-text-body>
              <ac:structured-macro ac:name="projectdoc-display-table">
                <ac:parameter ac:name="doctype">entry-point</ac:parameter>
                <ac:parameter ac:name="render-no-hits-as-blank">true</ac:parameter>
                <ac:parameter ac:name="restrict-to-immediate-children">true</ac:parameter>
              </ac:structured-macro>
            </ac:rich-text-body>
          </ac:structured-macro>]]></xml>
      <resource-bundle>
        <l10n>
          <name>Entry Points</name>
          <intro>List of entry points to this service.</intro>
        </l10n>
        <l10n locale="de">
          <name>Zugangspunkt</name>
          <intro>Liste der Zugangspunkte zu diesem Service.</intro>
        </l10n>
      </resource-bundle>
    </section>

    <section key="projectdoc.doctype.security-view.list-of-threat-targets">
      <xml><![CDATA[<ac:structured-macro ac:name="projectdoc-section">
  <ac:parameter ac:name="title"><at:i18n at:key="projectdoc.doctype.security-view.list-of-threat-targets"/></ac:parameter>
  <ac:parameter ac:name="intro-text"><at:i18n at:key="projectdoc.doctype.security-view.list-of-threat-targets.intro"/></ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:name="projectdoc-tour-by-property-macro">
      <ac:parameter ac:name="property"><at:i18n at:key="projectdoc.doctype.security-view.external-dependencies"/></ac:parameter>
      <ac:parameter ac:name="render-counter-column">true</ac:parameter>
      <ac:parameter ac:name="render-no-hits-as-blank">true</ac:parameter>
      </ac:structured-macro>
    </ac:rich-text-body>
  </ac:structured-macro>]]></xml>
      <resource-bundle>
        <l10n>
          <name>List of external Dependencies</name>
        </l10n>
        <l10n locale="de">
          <name>Liste externer Abhängigkeiten</name>
        </l10n>
      </resource-bundle>
    </section>
  </sections>

  <related-doctypes>
    <id>threat-model</id>
    <id>security-objective</id>
    <id>entry-point</id>
    <id>threat-target</id>
  </related-doctypes>
</doctype>
 

The Doctype XSD defines the structure of this file.