<code>

Code

A container element for technical content such as programming language code, pseudo-code, schemas, or a markup fragment.

Remarks

The <code> element may contain preformatted text, containing emphasis elements for syntax coloring, or it may be contain an external link to a binary executable file.

Best Attribute Practice: The various semantic attributes should be used to name the type of code, the language, the intended platform(s), etc. Executable code should always be marked as such using the @executable attribute. The @specific-use attribute may also be used to describe the rationale or uses for a code sample.

Alternatives: When code is present in more than one form, the <code> element can be used inside an <alternatives> element. The various versions of the code can be syntax colored using the face markup from this Tag Set, syntax colored using processing instructions or other mechanisms from a syntax coloring program, plain ASCII for cut and paste, an executable version, et al.

MathML: The MathML elements to describe equations are not permitted within <code>. If equations are encountered within computer code, they can be tagged using the element <named-content> to preserve the fact that they were equations or the element <styled-content> to preserve the fact that they were set in a math font.

Attributes

code-type Type of Code
code-version Code Version
executable Executable
id Document Internal Identifier
language Code Language
language-version Code Language Version
orientation Orientation
platforms Platforms
position Position
specific-use Specific Use
xml:base Base
xml:lang Language
xml:space Space

Related Elements

This element is similar to <preformat> in the preservation of whitespace, line-endings, and such formatting. The <code> element differs from <preformat> semantically; a <preformat> element may contain almost anything, for example, ASCII art, a man-machine dialogue, error messages, 3 words on a line with space between them, or a poem. The <code> element is specifically for technical coding fragments, for example: computer programming language code; executable binary code; illustrative pseudo-code; an XSD, RNG or DTD schema fragment; an SQL or XQuery query, or a markup fragment that is part of an XML document instance.

Historical Note: Previous versions of this Tag Set have used the <preformat> element with an attribute @preformat-type="code" to express the semantic material that will hereafter be tagged as <code>.

Expanded Content Model

(#PCDATA | email | ext-link | uri | bold | fixed-case | italic | monospace | overline | roman | sans-serif | sc | strike | underline | ruby | abbrev | milestone-end | milestone-start | named-content | styled-content | fn | target | xref | sub | sup)*

Description

Any combination of:

This element may be contained in:

<alternatives>, <app>, <app-group>, <bio>, <body>, <boxed-text>, <chem-struct>, <chem-struct-wrap>, <disp-formula>, <disp-quote>, <fig>, <floats-group>, <glossary>, <license-p>, <named-content>, <notes>, <p>, <ref-list>, <sec>, <styled-content>, <supplementary-material>, <table-wrap>, <td>, <term>, <th>

Example 1

Part of an XML document:

...
<p>An example XML WorkOrder element is shown as follows:
<code 
   code-type="xml" 
   language-version="1.1"
   xml:space="preserve" 
   orientation="portrait"
   position="anchor" >
&hellip;
&lt;WorkOrder ID=”P7710”&gt;
  &lt;WorkItem name=”Testing”&gt;
    &lt;Datum xsi:type=”string” value=”A123”/&gt;
  &lt;/WorkItem&gt;
&lt;/WorkOrder&gt;
&hellip;
</code>
</p>
...

Example 2

Part of an XSD Schema:

...
<p>As of the release of this standard, the schema described 
incorporates the following “header” information:
<code 
  code-type="xsd-schema"
  language-version="2.01" 
  xml:space="preserve" 
  orientation="portrait"
  position="anchor" >
&lt;xs:schema 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:c="urn:IEEE-1671:2008.01:Common"
    xmlns="urn:IEEE-1636.1:2008.01:TestResults"
    targetNamespace="urn:IEEE-1636.1:2008.01:TestResults"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="2.01"&gt;
  &lt;xs:import namespace="urn:IEEE-1671:2008.01:Common"
    schemaLocation="Common.xsd"/&gt;
&lt;/xs:schema&gt;
</code>
</p>
...

Module

JATS-xhtml-table-1.mod