代码之家  ›  专栏  ›  技术社区  ›  krosenvold

在xml文档中嵌入可能格式不正确的html的适当方法是什么?

  •  3
  • krosenvold  · 技术社区  · 16 年前

    营销人员希望能够在(基于xml的)CMS中编写直接内联HTML。xhtml遵从性和类似的东西可能会付诸东流,但他们是老板。CMS使用常规的xml/xslt转换管道。目前我们只使用 单节点,cdata节点包含所有不好的内容,使用一些讨厌的连接创建。

    还有其他方法吗?

    结构合理 某种HTML片段,但在已知的世界中,我无法让他们像其他东西一样同意xhtml/严格遵从性

    4 回复  |  直到 16 年前
        1
  •  4
  •   Aaron Maenpaa    16 年前

    CDATA是 要做到这一点,任何解析结构的XML文档中都不可能出现无效标记。

    我可以提出一个替代方案吗?在将问题标记插入XML时修复它——绝对不是微不足道的,但坦率地说,他们给您的任务是荒谬的。

    退房 HTML Tidy Beautiful Soup 它可以接受标签汤并将其转换为有效的、格式良好的XHTML。

        2
  •  2
  •   Chris Marasti-Georg Scott Weinstein    16 年前

    除了使用CDATA部分之外,还有一个解决方案是对营销人员编写的所有小于和的符号进行编码,并在显示之前对其进行解码。

    然而,我确实认为一个涉及HTML Tidy之类的解决方案可能是最佳的。

        3
  •  1
  •   Alex Baranosky    16 年前

    我非常确信,您可以通过XHTML转换器过滤营销人员输入的HTML。

    例如 SgmlReader

        4
  •  0
  •   Dominic Cronin    16 年前

    您可以通过使用CDATA节或显式转义相关字符(这两个选项实际上是等价的)来嵌入它们的所有污点。如前所述,有一些工具(如Tidy)会有所帮助,当然,一旦您有了一个格式良好的文档,您就可以使用XSLT将其转换为不那么令人不快的内容(当然,这取决于您使用的CMS)。

    说了这么多,我建议现在是讨论谁是哪个领域的“老板”的时候了。如果你开始在品牌或其他方面的讨论中否决他们,营销人员不会接受。你有你的专业领域,他们也有他们的,他们的绝对不是HTML。现在就开始战斗,否则你将在未来面临痛苦的世界。