Inera Core Implementation Guide
0.2.0 - ci-build Sweden

Inera Core Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: DocBook to FHIR Narrative XHTML Mapping - XML Representation

Draft as of 2025-12-09

Raw xml | Download


<ConceptMap xmlns="http://hl7.org/fhir">
  <id value="docbook-to-narrative"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: ConceptMap docbook-to-narrative</b></p><a name="docbook-to-narrative"> </a><a name="hcdocbook-to-narrative"> </a><p>Mapping from https://inera.se/fhir/core/ValueSet/docbook-elements to http://hl7.org/fhir/ValueSet/narrative-xhtml-tags</p><br/><p><b>Group 1 </b>Mapping from <code>https://inera.se/fhir/core/CodeSystem/docbook-elements</code> to <code>http://hl7.org/fhir/narrative-xhtml</code></p><table class="grid"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>article (article (document root))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>div (&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;)</td><td>Root &lt;article&gt; becomes the required &lt;div&gt; wrapper for FHIR Narrative. All Narrative content must be inside this div.</td></tr><tr><td>section (section (document section))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>div-section (&lt;div class='section'&gt; or &lt;div id='section-id'&gt;)</td><td>Each &lt;section&gt; becomes a &lt;div&gt; with optional class='section' or id attribute for internal linking. Alternative: use Composition.section instead for structured sections.</td></tr><tr><td>info (info (metadata container))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>omit ((omit - metadata goes in resource elements))</td><td>Metadata from &lt;info&gt; (title, author, date) maps to Composition/DocumentReference resource elements, not Narrative.div</td></tr><tr><td>title (title (section or document title))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>heading (&lt;h1&gt;, &lt;h2&gt;, &lt;h3&gt; etc.)</td><td>In info/article: &lt;h1&gt;. In section: &lt;h2&gt; or deeper based on nesting. Consider using Composition.title instead of Narrative heading.</td></tr><tr><td>para (para (paragraph))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>p (&lt;p&gt;)</td><td>Direct mapping: &lt;para&gt; → &lt;p&gt;</td></tr><tr><td>emphasis (emphasis (inline emphasis with role attribute))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>span-varied (&lt;span&gt;, &lt;b&gt;, &lt;i&gt;, &lt;u&gt;, &lt;em&gt;, &lt;strong&gt; based on @role)</td><td>Map based on @role attribute - see role-specific mappings below</td></tr><tr><td>emphasis-bold (emphasis[@role='bold'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>strong (&lt;strong&gt; or &lt;b&gt;)</td><td>&lt;emphasis role='bold'&gt;text&lt;/emphasis&gt; → &lt;strong&gt;text&lt;/strong&gt; (semantic) or &lt;b&gt;text&lt;/b&gt; (visual)</td></tr><tr><td>emphasis-italics (emphasis[@role='italics'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>em (&lt;em&gt; or &lt;i&gt;)</td><td>&lt;emphasis role='italics'&gt;text&lt;/emphasis&gt; → &lt;em&gt;text&lt;/em&gt; (semantic) or &lt;i&gt;text&lt;/i&gt; (visual)</td></tr><tr><td>emphasis-underline (emphasis[@role='underline'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>u (&lt;u&gt; or &lt;span style='text-decoration:underline'&gt;)</td><td>&lt;emphasis role='underline'&gt;text&lt;/emphasis&gt; → &lt;u&gt;text&lt;/u&gt;</td></tr><tr><td>emphasis-collapsible (emphasis[@role='collapsible'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>details (&lt;div class='collapsible'&gt; (non-standard, requires JS))</td><td>FHIR Narrative doesn't support &lt;details&gt;. Use &lt;div class='collapsible'&gt; with custom CSS/JS, or expand all content in static view. Alternative: use separate Composition.section with emptyReason.</td></tr><tr><td>emphasis-bgcolor (emphasis[@role='bgcolor'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>span-highlight (&lt;span class='highlight'&gt; or &lt;span style='background-color:#ffff00'&gt;)</td><td>Use &lt;span&gt; with class or inline style for background color highlighting</td></tr><tr><td>emphasis-information (emphasis[@role='information'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>div-info-box (&lt;div class='info-box'&gt; (gray box in 1177))</td><td>Gray information box from 1177. Map to &lt;div class='info-box'&gt; with CSS for gray background. Content inside includes heading and list.</td></tr><tr><td>emphasis-observe (emphasis[@role='observe'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>div-warning-box (&lt;div class='warning-box'&gt; (yellow box in 1177))</td><td>Yellow warning/observe box from 1177. Map to &lt;div class='warning-box'&gt; with CSS for yellow background. Content inside includes heading and list.</td></tr><tr><td>emphasis-frame (emphasis[@role='frame'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>div-framed-box (&lt;div class='framed-box'&gt; (white bordered box in 1177))</td><td>White framed/bordered box from 1177. Map to &lt;div class='framed-box'&gt; with CSS for border. Content inside includes heading and paragraph.</td></tr><tr><td>ulink (ulink (external URL link))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>a-external (&lt;a href='url' target='_blank'&gt;)</td><td>&lt;ulink url='https://example.com' type='_blank'&gt;text&lt;/ulink&gt; → &lt;a href='https://example.com' target='_blank'&gt;text&lt;/a&gt;</td></tr><tr><td>link (link (internal document link))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>a-internal (&lt;a href='#anchor'&gt;)</td><td>&lt;link url='#section-id'&gt;text&lt;/link&gt; → &lt;a href='#section-id'&gt;text&lt;/a&gt;. Ensure target div has matching id attribute.</td></tr><tr><td>itemizedlist (itemizedlist (bulleted/unordered list))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>ul (&lt;ul&gt; or &lt;ul class='bullet'&gt; or &lt;ul class='hyphen'&gt;)</td><td>&lt;itemizedlist&gt; → &lt;ul&gt;. Use @mark attribute to determine list-style-type (bullet vs hyphen) via CSS class.</td></tr><tr><td>itemizedlist-bullet (itemizedlist[@mark='bullet'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>ul-bullet (&lt;ul style='list-style-type:disc'&gt; or &lt;ul class='bullet'&gt;)</td><td>Bullet list with disc markers (default for &lt;ul&gt;)</td></tr><tr><td>itemizedlist-hyphen (itemizedlist[@mark='hyphen'])</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>ul-hyphen (&lt;ul style='list-style-type:&quot;- &quot;'&gt; or &lt;ul class='hyphen'&gt;)</td><td>Hyphen list. Use CSS to change list markers to hyphens.</td></tr><tr><td>listitem (listitem (list item content))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>li (&lt;li&gt;)</td><td>&lt;listitem&gt; → &lt;li&gt; (both in itemizedlist/ul and variablelist/dl contexts)</td></tr><tr><td>variablelist (variablelist (definition/variable list))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>dl (&lt;dl&gt; (definition list))</td><td>&lt;variablelist&gt; → &lt;dl&gt;. Common in 1177 for key-value pairs (Datum: / Tisdag 10 mars 2022)</td></tr><tr><td>varlistentry (varlistentry (variable list entry))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>dt-dd-pair (&lt;dt&gt; + &lt;dd&gt; pair)</td><td>Each &lt;varlistentry&gt; contains one &lt;term&gt; (→ &lt;dt&gt;) and one &lt;listitem&gt; (→ &lt;dd&gt;)</td></tr><tr><td>term (term (variable list term))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>dt (&lt;dt&gt;)</td><td>&lt;term&gt;Datum:&lt;/term&gt; → &lt;dt&gt;Datum:&lt;/dt&gt;</td></tr><tr><td>varlistentry-listitem (listitem (in variablelist context))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>dd (&lt;dd&gt;)</td><td>&lt;listitem&gt;Tisdag 10 mars 2022&lt;/listitem&gt; → &lt;dd&gt;Tisdag 10 mars 2022&lt;/dd&gt; (in variablelist)</td></tr><tr><td>bibliography (bibliography (references section))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>div-references (&lt;div class='references'&gt; or &lt;h2&gt;Referenser&lt;/h2&gt; + content)</td><td>Create &lt;div class='references'&gt; section or use &lt;h2&gt;Referenser&lt;/h2&gt; followed by list. Alternative: use Composition.section for structured bibliography.</td></tr><tr><td>url-attribute (url attribute (for ulink/link))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>href-attribute (href attribute on &lt;a&gt;)</td><td>@url → @href</td></tr><tr><td>type-attribute (type attribute (for ulink/link))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>target-attribute (target attribute on &lt;a&gt;)</td><td>@type='_blank' → @target='_blank' (opens in new window)</td></tr><tr><td>mark-attribute (mark attribute (for itemizedlist))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>class-or-style (class or style attribute on &lt;ul&gt;)</td><td>@mark='bullet' → class='bullet', @mark='hyphen' → class='hyphen' or inline style for list-style-type</td></tr></table></div>
  </text>
  <url value="https://inera.se/fhir/core/ConceptMap/docbook-to-narrative"/>
  <version value="0.2.0"/>
  <name value="ConceptMapDocBookToNarrative"/>
  <title value="DocBook to FHIR Narrative XHTML Mapping"/>
  <status value="draft"/>
  <experimental value="false"/>
  <date value="2025-12-09"/>
  <publisher value="Inera AB"/>
  <contact>
    <name value="Inera AB"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.inera.se"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="info@inera.se"/>
    </telecom>
  </contact>
  <contact>
    <name value="Inera AB"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.inera.se"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="info@inera.se"/>
    </telecom>
  </contact>
  <description
               value="Mapping between DocBook elements supported by 1177 Inkorg and FHIR Narrative.div XHTML.

DocBook is the required format for 1177 Inkorg messages (AddMessage.Message.Text), but FHIR uses 
Narrative.div with a restricted XHTML subset (FHIR Narrative data type).

**Source**: DocBook subset supported by 1177 Inkorg  
**Target**: FHIR Narrative XHTML (limited XHTML 1.0 Strict subset)

**FHIR Narrative Constraints**:
- Only specific XHTML tags allowed: div, span, p, h1-h6, a, ul, ol, li, dl, dt, dd, b, i, u, em, strong, table, etc.
- All content must be in a single &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt; root
- No DocBook-specific elements (article, section, emphasis[@role]) in output
- Custom styling via @class or @style attributes where needed

**Reference**: 
- https://inera.atlassian.net/wiki/spaces/OIIK/pages/3590029598/Docbook-formatering+av+meddelande
- https://inera.atlassian.net/wiki/spaces/OIIK/pages/3590619160/DocBook+exempel
- http://hl7.org/fhir/R4/narrative.html#Narrative"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="SE"/>
      <display value="Sweden"/>
    </coding>
  </jurisdiction>
  <purpose
           value="Enable transformation between 1177 Inkorg DocBook format and FHIR Narrative.div for patient communications in DocumentReference and Composition resources"/>
  <sourceUri value="https://inera.se/fhir/core/ValueSet/docbook-elements"/>
  <targetUri value="http://hl7.org/fhir/ValueSet/narrative-xhtml-tags"/>
  <group>
    <source value="https://inera.se/fhir/core/CodeSystem/docbook-elements"/>
    <target value="http://hl7.org/fhir/narrative-xhtml"/>
    <element>
      <code value="article"/>
      <display value="article (document root)"/>
      <target>
        <code value="div"/>
        <display value="&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Root &lt;article&gt; becomes the required &lt;div&gt; wrapper for FHIR Narrative. All Narrative content must be inside this div."/>
      </target>
    </element>
    <element>
      <code value="section"/>
      <display value="section (document section)"/>
      <target>
        <code value="div-section"/>
        <display
                 value="&lt;div class='section'&gt; or &lt;div id='section-id'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Each &lt;section&gt; becomes a &lt;div&gt; with optional class='section' or id attribute for internal linking. Alternative: use Composition.section instead for structured sections."/>
      </target>
    </element>
    <element>
      <code value="info"/>
      <display value="info (metadata container)"/>
      <target>
        <code value="omit"/>
        <display value="(omit - metadata goes in resource elements)"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Metadata from &lt;info&gt; (title, author, date) maps to Composition/DocumentReference resource elements, not Narrative.div"/>
      </target>
    </element>
    <element>
      <code value="title"/>
      <display value="title (section or document title)"/>
      <target>
        <code value="heading"/>
        <display value="&lt;h1&gt;, &lt;h2&gt;, &lt;h3&gt; etc."/>
        <equivalence value="equivalent"/>
        <comment
                 value="In info/article: &lt;h1&gt;. In section: &lt;h2&gt; or deeper based on nesting. Consider using Composition.title instead of Narrative heading."/>
      </target>
    </element>
    <element>
      <code value="para"/>
      <display value="para (paragraph)"/>
      <target>
        <code value="p"/>
        <display value="&lt;p&gt;"/>
        <equivalence value="equivalent"/>
        <comment value="Direct mapping: &lt;para&gt; → &lt;p&gt;"/>
      </target>
    </element>
    <element>
      <code value="emphasis"/>
      <display value="emphasis (inline emphasis with role attribute)"/>
      <target>
        <code value="span-varied"/>
        <display
                 value="&lt;span&gt;, &lt;b&gt;, &lt;i&gt;, &lt;u&gt;, &lt;em&gt;, &lt;strong&gt; based on @role"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Map based on @role attribute - see role-specific mappings below"/>
      </target>
    </element>
    <element>
      <code value="emphasis-bold"/>
      <display value="emphasis[@role='bold']"/>
      <target>
        <code value="strong"/>
        <display value="&lt;strong&gt; or &lt;b&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;emphasis role='bold'&gt;text&lt;/emphasis&gt; → &lt;strong&gt;text&lt;/strong&gt; (semantic) or &lt;b&gt;text&lt;/b&gt; (visual)"/>
      </target>
    </element>
    <element>
      <code value="emphasis-italics"/>
      <display value="emphasis[@role='italics']"/>
      <target>
        <code value="em"/>
        <display value="&lt;em&gt; or &lt;i&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;emphasis role='italics'&gt;text&lt;/emphasis&gt; → &lt;em&gt;text&lt;/em&gt; (semantic) or &lt;i&gt;text&lt;/i&gt; (visual)"/>
      </target>
    </element>
    <element>
      <code value="emphasis-underline"/>
      <display value="emphasis[@role='underline']"/>
      <target>
        <code value="u"/>
        <display
                 value="&lt;u&gt; or &lt;span style='text-decoration:underline'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;emphasis role='underline'&gt;text&lt;/emphasis&gt; → &lt;u&gt;text&lt;/u&gt;"/>
      </target>
    </element>
    <element>
      <code value="emphasis-collapsible"/>
      <display value="emphasis[@role='collapsible']"/>
      <target>
        <code value="details"/>
        <display
                 value="&lt;div class='collapsible'&gt; (non-standard, requires JS)"/>
        <equivalence value="relatedto"/>
        <comment
                 value="FHIR Narrative doesn't support &lt;details&gt;. Use &lt;div class='collapsible'&gt; with custom CSS/JS, or expand all content in static view. Alternative: use separate Composition.section with emptyReason."/>
      </target>
    </element>
    <element>
      <code value="emphasis-bgcolor"/>
      <display value="emphasis[@role='bgcolor']"/>
      <target>
        <code value="span-highlight"/>
        <display
                 value="&lt;span class='highlight'&gt; or &lt;span style='background-color:#ffff00'&gt;"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Use &lt;span&gt; with class or inline style for background color highlighting"/>
      </target>
    </element>
    <element>
      <code value="emphasis-information"/>
      <display value="emphasis[@role='information']"/>
      <target>
        <code value="div-info-box"/>
        <display value="&lt;div class='info-box'&gt; (gray box in 1177)"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Gray information box from 1177. Map to &lt;div class='info-box'&gt; with CSS for gray background. Content inside includes heading and list."/>
      </target>
    </element>
    <element>
      <code value="emphasis-observe"/>
      <display value="emphasis[@role='observe']"/>
      <target>
        <code value="div-warning-box"/>
        <display
                 value="&lt;div class='warning-box'&gt; (yellow box in 1177)"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Yellow warning/observe box from 1177. Map to &lt;div class='warning-box'&gt; with CSS for yellow background. Content inside includes heading and list."/>
      </target>
    </element>
    <element>
      <code value="emphasis-frame"/>
      <display value="emphasis[@role='frame']"/>
      <target>
        <code value="div-framed-box"/>
        <display
                 value="&lt;div class='framed-box'&gt; (white bordered box in 1177)"/>
        <equivalence value="relatedto"/>
        <comment
                 value="White framed/bordered box from 1177. Map to &lt;div class='framed-box'&gt; with CSS for border. Content inside includes heading and paragraph."/>
      </target>
    </element>
    <element>
      <code value="ulink"/>
      <display value="ulink (external URL link)"/>
      <target>
        <code value="a-external"/>
        <display value="&lt;a href='url' target='_blank'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;ulink url='https://example.com' type='_blank'&gt;text&lt;/ulink&gt; → &lt;a href='https://example.com' target='_blank'&gt;text&lt;/a&gt;"/>
      </target>
    </element>
    <element>
      <code value="link"/>
      <display value="link (internal document link)"/>
      <target>
        <code value="a-internal"/>
        <display value="&lt;a href='#anchor'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;link url='#section-id'&gt;text&lt;/link&gt; → &lt;a href='#section-id'&gt;text&lt;/a&gt;. Ensure target div has matching id attribute."/>
      </target>
    </element>
    <element>
      <code value="itemizedlist"/>
      <display value="itemizedlist (bulleted/unordered list)"/>
      <target>
        <code value="ul"/>
        <display
                 value="&lt;ul&gt; or &lt;ul class='bullet'&gt; or &lt;ul class='hyphen'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;itemizedlist&gt; → &lt;ul&gt;. Use @mark attribute to determine list-style-type (bullet vs hyphen) via CSS class."/>
      </target>
    </element>
    <element>
      <code value="itemizedlist-bullet"/>
      <display value="itemizedlist[@mark='bullet']"/>
      <target>
        <code value="ul-bullet"/>
        <display
                 value="&lt;ul style='list-style-type:disc'&gt; or &lt;ul class='bullet'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Bullet list with disc markers (default for &lt;ul&gt;)"/>
      </target>
    </element>
    <element>
      <code value="itemizedlist-hyphen"/>
      <display value="itemizedlist[@mark='hyphen']"/>
      <target>
        <code value="ul-hyphen"/>
        <display
                 value="&lt;ul style='list-style-type:&quot;- &quot;'&gt; or &lt;ul class='hyphen'&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Hyphen list. Use CSS to change list markers to hyphens."/>
      </target>
    </element>
    <element>
      <code value="listitem"/>
      <display value="listitem (list item content)"/>
      <target>
        <code value="li"/>
        <display value="&lt;li&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;listitem&gt; → &lt;li&gt; (both in itemizedlist/ul and variablelist/dl contexts)"/>
      </target>
    </element>
    <element>
      <code value="variablelist"/>
      <display value="variablelist (definition/variable list)"/>
      <target>
        <code value="dl"/>
        <display value="&lt;dl&gt; (definition list)"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;variablelist&gt; → &lt;dl&gt;. Common in 1177 for key-value pairs (Datum: / Tisdag 10 mars 2022)"/>
      </target>
    </element>
    <element>
      <code value="varlistentry"/>
      <display value="varlistentry (variable list entry)"/>
      <target>
        <code value="dt-dd-pair"/>
        <display value="&lt;dt&gt; + &lt;dd&gt; pair"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Each &lt;varlistentry&gt; contains one &lt;term&gt; (→ &lt;dt&gt;) and one &lt;listitem&gt; (→ &lt;dd&gt;)"/>
      </target>
    </element>
    <element>
      <code value="term"/>
      <display value="term (variable list term)"/>
      <target>
        <code value="dt"/>
        <display value="&lt;dt&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;term&gt;Datum:&lt;/term&gt; → &lt;dt&gt;Datum:&lt;/dt&gt;"/>
      </target>
    </element>
    <element>
      <code value="varlistentry-listitem"/>
      <display value="listitem (in variablelist context)"/>
      <target>
        <code value="dd"/>
        <display value="&lt;dd&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="&lt;listitem&gt;Tisdag 10 mars 2022&lt;/listitem&gt; → &lt;dd&gt;Tisdag 10 mars 2022&lt;/dd&gt; (in variablelist)"/>
      </target>
    </element>
    <element>
      <code value="bibliography"/>
      <display value="bibliography (references section)"/>
      <target>
        <code value="div-references"/>
        <display
                 value="&lt;div class='references'&gt; or &lt;h2&gt;Referenser&lt;/h2&gt; + content"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Create &lt;div class='references'&gt; section or use &lt;h2&gt;Referenser&lt;/h2&gt; followed by list. Alternative: use Composition.section for structured bibliography."/>
      </target>
    </element>
    <element>
      <code value="url-attribute"/>
      <display value="url attribute (for ulink/link)"/>
      <target>
        <code value="href-attribute"/>
        <display value="href attribute on &lt;a&gt;"/>
        <equivalence value="equivalent"/>
        <comment value="@url → @href"/>
      </target>
    </element>
    <element>
      <code value="type-attribute"/>
      <display value="type attribute (for ulink/link)"/>
      <target>
        <code value="target-attribute"/>
        <display value="target attribute on &lt;a&gt;"/>
        <equivalence value="equivalent"/>
        <comment
                 value="@type='_blank' → @target='_blank' (opens in new window)"/>
      </target>
    </element>
    <element>
      <code value="mark-attribute"/>
      <display value="mark attribute (for itemizedlist)"/>
      <target>
        <code value="class-or-style"/>
        <display value="class or style attribute on &lt;ul&gt;"/>
        <equivalence value="relatedto"/>
        <comment
                 value="@mark='bullet' → class='bullet', @mark='hyphen' → class='hyphen' or inline style for list-style-type"/>
      </target>
    </element>
  </group>
</ConceptMap>