【问题标题】:Including XML Entities from file包括文件中的 XML 实体
【发布时间】:2014-05-23 09:52:44
【问题描述】:

我会直奔主题:
有没有更好的方法在 DocBook 文档中包含一组常用字符实体?因为必须一直输入— 而不是— 真的很烦人。

我有什么:

<!DOCTYPE chapter [
    <!ENTITY ndash  "&#x2013;">
    <!ENTITY mdash  "&#x2014;">
    <!ENTITY lsquo  "&#x2018;">
    <!ENTITY rsquo  "&#x2019;">
    <!ENTITY hellip "&#x2026;">
    <!ENTITY sbquo  "&#x201A;">
    <!ENTITY ldquo  "&#x201C;">
    <!ENTITY rdquo  "&#x201D;">
]>
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" 
         xml:id="fancy-chapter">
    ...
</chapter>

这对我来说似乎不是很干燥,所以我想我会尝试其他东西......
我做了什么:

<!DOCTYPE chapter [
    <!ENTITY % type SYSTEM "type.xml">
    %type;
]>
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" 
         xml:id="fancy-chapter">
    ...
</chapter>

type.xml:

<!ENTITY ndash  "&#x2013;">
<!ENTITY mdash  "&#x2014;">
<!ENTITY lsquo  "&#x2018;">
<!ENTITY rsquo  "&#x2019;">
<!ENTITY hellip "&#x2026;">
<!ENTITY sbquo  "&#x201A;">
<!ENTITY ldquo  "&#x201C;">
<!ENTITY rdquo  "&#x201D;">

略有改进,但是否没有单行解决方案,或者一个可以调用的处理器指令说“嘿,看看这个文件中所有你找不到的花哨的参考资料”?

我想这可以通过某种形式的 DocBook 模式的本地超集来完成,不是吗?

【问题讨论】:

  • 您已经发现了我将使用的方法(尽管我会将文件命名为以.dtd.ent 结尾而不是.xml)。

标签: xml docbook docbook-5


【解决方案1】:

更简单的是根本不使用实体。相反,只需这样写字符。毕竟,XML 默认是 Unicode。
如果您明确想要使用实体,那么您当前的方法实际上与recommended in the Docbook FAQ 相同。

【讨论】:

  • 哦,是的,我完全忘记了常见问题解答是一回事。我想使用实体的部分原因是等宽字体渲染使实际字符难以辨认,部分原因是我 15 年来用瑞典语编写 HTML 和与编码问题作斗争的良好习惯损害了我。也就是说,看起来这是最好的解决方案,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
相关资源
最近更新 更多