如何在DITA文本块中插入换行符?适配DITA-OT与OxygenXML导出
DITA文本块插入换行符的替代方法
你用DITA-OT和OxygenXML导出HTML时,没法用LwDITA的<?linebreak?>处理指令,试试下面这些实用方法:
直接用DITA原生
<linebreak/>元素
DITA本身支持<linebreak/>这个排版元素,直接在文本段落里插入就行,导出HTML时会自动转换成<br>标签。比如:<p>这是第一行内容<linebreak/>这是换行后的第二行内容</p>自定义处理指令+修改XSLT样式
自己定义一个处理指令(比如<?custom-linebreak?>),然后修改DITA-OT的HTML转换样式表,添加对应的转换规则:- 在DITA内容里插入:
<?custom-linebreak?> - 找到DITA-OT的HTML输出XSLT文件(通常在
plugins/org.dita.html5/xsl/目录下),添加如下模板:<xsl:template match="processing-instruction('custom-linebreak')"> <br/> </xsl:template> - 在OxygenXML里配置使用修改后的DITA-OT转换,或者把这个XSLT作为自定义扩展引入。
- 在DITA内容里插入:
用
<ph>元素配合CSS实现换行
给<ph>元素加自定义类,然后通过CSS强制换行:- DITA内容里写:
<ph class="force-linebreak"></ph> - 在导出HTML时关联的CSS文件里添加:
.force-linebreak { display: block; margin: 0; }
这种方式是通过样式实现视觉换行,适合不需要生成
<br>标签的场景。- DITA内容里写:
拆分段落(适合段落级换行)
如果内容本身适合分段,直接把一行拆成多个<p>元素,比如:<p>第一行内容</p> <p>第二行内容</p>这种方式是最规范的DITA写法,适合原本就需要分段的文本。
内容的提问来源于stack exchange,提问作者ianmayo
相关产品推荐
相关产品推荐

