<foreign>
Foreign content is non-DITA content, such as MathML, SVG, or Rich Text Format (RTF).
Usage information
Specializations of the <foreign>
element are typically implemented
as domains, but it is also possible to implement foreign vocabularies as structural
specializations.
The <foreign>
element can contain non-DITA
content or a mix of DITA and non-DITA content.
If alternate content is wanted, use or specialize the
<desc>
element inside of the
<foreign>
specialization. Such alternate
content needs to be valid wherever the
<foreign>
specialization is valid. This
way, if a processor is not able to recognize or render the
<foreign>
content itself, it can use the
alternate content from <desc>
.
Processing expectations
Processors attempt to display <foreign>
content unless otherwise instructed. If a 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 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 model
Any
Contained by
<abstract>
,
<alt>
,
<audio>
,
<author>
,
<b>
,
<body>
,
<bodydiv>
,
<brand>
,
<category>
,
<cite>
,
<component>
,
<consequence>
,
<coords>
,
<copyrholder>
,
<data>
,
<dd>
,
<ddhd>
,
<desc>
,
<div>
,
<draft-comment>
,
<dt>
,
<dthd>
,
<em>
,
<entry>
,
<example>
,
<fallback>
,
<featnum>
,
<fig>
,
<figgroup>
,
<fn>
,
<i>
,
<include>
,
<index-see>
,
<index-see-also>
,
<indexterm>
,
<li>
,
<line-through>
,
<lines>
,
<linkinfo>
,
<linktext>
,
<linktitle>
,
<lq>
,
<metadata>
,
<navtitle>
,
<note>
,
<object>
,
<overline>
,
<p>
,
<ph>
,
<platform>
,
<pre>
,
<prodname>
,
<prognum>
,
<prolog>
,
<publisher>
,
<q>
,
<searchtitle>
,
<section>
,
<series>
,
<shortdesc>
,
<sli>
,
<source>
,
<stentry>
,
<strong>
,
<sub>
,
<subtitle>
,
<sup>
,
<title>
,
<titlealt>
,
<titlehint>
,
<tt>
,
<typeofhazard>
,
<u>
,
<video>
,
<xref>
Any content
Contained by
-
<abstract>
-
<alt>
-
<audio>
-
<author>
-
<b>
-
<body>
-
<bodydiv>
-
<brand>
-
<category>
-
<cite>
-
<component>
-
<consequence>
-
<coords>
-
<copyrholder>
-
<data>
-
<dd>
-
<ddhd>
-
<desc>
-
<div>
-
<draft-comment>
-
<dt>
-
<dthd>
-
<em>
-
<entry>
-
<example>
-
<fallback>
-
<featnum>
-
<fig>
-
<figgroup>
-
<fn>
-
<i>
-
<include>
-
<index-see>
-
<index-see-also>
-
<indexterm>
-
<li>
-
<line-through>
-
<lines>
-
<linkinfo>
-
<linktext>
-
<linktitle>
-
<lq>
-
<metadata>
-
<navtitle>
-
<note>
-
<object>
-
<overline>
-
<p>
-
<ph>
-
<platform>
-
<pre>
-
<prodname>
-
<prognum>
-
<prolog>
-
<publisher>
-
<q>
-
<searchtitle>
-
<section>
-
<series>
-
<shortdesc>
-
<sli>
-
<source>
-
<stentry>
-
<strong>
-
<sub>
-
<subtitle>
-
<sup>
-
<title>
-
<titlealt>
-
<titlehint>
-
<tt>
-
<typeofhazard>
-
<u>
-
<video>
-
<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 attributes.
The following attributes are available on this element: universal attributes.
Example
This section is non-normative.
The following code sample shows a specialization of
<foreign>
that is used to hold SVG
elements. For this to work, the specialization module that defines
<svg>
also needs to include the
definitions for the SVG elements.
<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>