问题:在DITA文档中包含非DITA内容的正确标记是否存在,是什么?
我正在寻找的功能是一个标记,比如<ignored></ignored>
,以便任何内容,包括<
,>
,&
甚至其他标记,它被解释为纯文本,或者可能被解释为另一种语言。
例如,在HTML中我可以使用
<!DOCTYPE html>
<html>
<head></head>
<body>
This is some text
<script> that gets bold <b> after this tag </script>
that doesn't get bold</b><br/>
This text <b>did get bold</b>
</body>
</html>
忽略<script></script>
标记内的代码。浏览器应显示:
这是一些没有大胆的文字 此文确实变为粗体
我认为DITA没有script
标记,或者至少我没有在language reference中看到它。
答案 0 :(得分:2)
这取决于你想要实现的目标。也许<code>
就是你要找的东西。否则,您需要<data>
或基于<data>
的新元素。
规范说明了<data>
:
&#34;默认处理应将内容视为未知类型的元数据并忽略它以进行渲染,但自定义处理可能与名称属性或专用元素匹配,并使用该元素进行自动操作或格式化与身体流动。&#34;
答案 1 :(得分:2)
这有两个部分:
标记的部分为<![CDATA[
... ]]>
有几种方法可以满足您的要求,但<data>
不是其中之一。 <data>
元素是语义元数据,您拥有的不是元数据而是内容。
正如克里斯所说,专业化可能是最好的解决方案,但并不是必需的。
您可以在任何元素上使用@outputclass来表示需要进行特殊处理,例如:
<fig><title>My Math Stuff</title>
<p outputclass="latex">{LaTex content here}</p>
</fig>
由您来实现处理以将<p>
转换为输出数学或作为XML到XML转换的一部分。
如果你想专门研究最佳路线,那就是<foreign>
专攻。根据定义,<foreign>
元素包含不使用DITA定义的标记的内容。
请注意,DITA 1.3包含与MathML的内置集成,因此如果您将LaTeX转换为MathML,则无需为此重新创建特殊标记。
此外,DITA 1.3方程域为方程提供了一般容器元素,其中方程元素的内容是方程的一个或多个表示。表示可以是任何东西:MathML标记,图像引用,或者在您的情况下,是等式的原始LaTeX定义。