<foreign>

The <foreign> element allows the introduction of non-DITA content, for example, MathML, SVG, or Rich Text Format (RTF). The <foreign> element or a specialization can contain more than one type of non-DITA content or a mix of DITA and non-DITA content. Specialization of the <foreign> element generally is implemented as a domain, but architects looking for more control over the content can implement foreign vocabularies as structural specializations.

Processors should attempt to display <foreign> content unless otherwise instructed. If the processor cannot render the content, it MAY issue a warning.

The enabler of the foreign vocabulary must provide the processing and override the base processing for <foreign>.

  • If <foreign> contains more than one alternative content element, they should all be processed. In the case of <desc> they should be concatenated in a similar way to <section>, but with no title (analogous to <div> in HTML).
  • If alternate content is desired, specialize the <desc> element to contain it. This specialization of <desc> should be used within the element specialized from <foreign>. Such alternate content must of course be valid wherever the <foreign> specialization is valid.
  • If no <desc>, <object>, or <image> element is found within an instance of the <foreign> element, the base processing can emit a warning about the absence of processable content.
  • The base processing for <object> might emit the content of <foreign> as a file at the location specified by the @data attribute of the <object> element. The <object> element should have a data attribute or a <foreign> sub-element but not both. In the event that an <object> element contains both a data attribute and an <foreign> sub-element the processing system should ignore one of them.

Content models

See appendix for information about this element in OASIS document type shells.

Inheritance

- topic/foreign

SVG Example within a <p> element

This section is non-normative.

<p>... as in the formula 
  <svg>
    <svg:svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<ellipse cx="300" cy="150" rx="200" ry="80"
style="fill:rgb(200,100,50);
stroke:rgb(0,0,100);stroke-width:2"/>

    </svg:svg>    
  </svg>.
</p> 

MathML Example within an <object> element

This section is non-normative.

<p>... as in the formula 
<object>
  <desc>4 + x</desc>
  <mathml>
    <m:math display="block">
      <m:mrow>
        <m:mo>sum</m:mo>
        <m:mn>4</m:mn>
        <m:mo>+</m:mo>
        <m:mi>x</m:mi>
      </m:mrow>
    </m:math>    
  </mathml>
 </object>.
</p> 

Content model

Any

Contained by

<abstract>, <alt>, <author>, <b>, <body>, <bodydiv>, <brand>, <category>, <cite>, <component>, <consequence>, <coords>, <copyrholder>, <data>, <dd>, <ddhd>, <desc>, <div>, <draft-comment>, <dt>, <dthd>, <entry>, <example>, <featnum>, <fig>, <figgroup>, <fn>, <i>, <index-base>, <index-see>, <index-see-also>, <index-sort-as>, <indexterm>, <itemgroup>, <li>, <line-through>, <lines>, <linkinfo>, <linktext>, <lq>, <metadata>, <navtitle>, <note>, <object>, <overline>, <p>, <ph>, <platform>, <pre>, <prodname>, <prognum>, <prolog>, <publisher>, <q>, <searchtitle>, <section>, <sectiondiv>, <series>, <shortdesc>, <sli>, <source>, <stentry>, <sub>, <sup>, <title>, <tt>, <typeofhazard>, <u>, <xref>

Any content

Contained by

  • <abstract>
  • <alt>
  • <author>
  • <b>
  • <body>
  • <bodydiv>
  • <brand>
  • <category>
  • <cite>
  • <component>
  • <consequence>
  • <coords>
  • <copyrholder>
  • <data>
  • <dd>
  • <ddhd>
  • <desc>
  • <div>
  • <draft-comment>
  • <dt>
  • <dthd>
  • <entry>
  • <example>
  • <featnum>
  • <fig>
  • <figgroup>
  • <fn>
  • <i>
  • <index-base>
  • <index-see>
  • <index-see-also>
  • <index-sort-as>
  • <indexterm>
  • <itemgroup>
  • <li>
  • <line-through>
  • <lines>
  • <linkinfo>
  • <linktext>
  • <lq>
  • <metadata>
  • <navtitle>
  • <note>
  • <object>
  • <overline>
  • <p>
  • <ph>
  • <platform>
  • <pre>
  • <prodname>
  • <prognum>
  • <prolog>
  • <publisher>
  • <q>
  • <searchtitle>
  • <section>
  • <sectiondiv>
  • <series>
  • <shortdesc>
  • <sli>
  • <source>
  • <stentry>
  • <sub>
  • <sup>
  • <title>
  • <tt>
  • <typeofhazard>
  • <u>
  • <xref>

Inheritance

- topic/foreign

The <foreign> element is a base element type. It is defined in the topic module.

Attributes

The following attributes are available on this element: Universal attribute group and outputclass.