如何在数据库(没有特定的)中存储格式化的文本块(换行符,标签,列表等)以在Web上显示(XHTML),同时保持抽象级别,以便数据可以是用于其他应用程序,或者如果将来网站的结构发生变化?

有帮助吗?

解决方案

在您的问题中,有两个想法略有冲突 - 将数据与内容分开,以便可以重新使用,以及包含格式化数据。

格式化数据是数据的一部分,还是元数据?

我们以前没看过这个;它基本上似乎是一个CSS / HTML难题。

如果这些文本块符合已知的数据方案(正如Mario的回答所假设的那样)那么是的,我会回答他的问题,但重新阅读你的问题,我会回答(并假设)你有一些格式化比如,马里奥使用的段落标签?

认为格式化基本上是部分的数据,而不仅仅是增加额外的,我建议采用类似CSS / HTML的解决方案。使用标准XHTML标记存储文本,为CSS准备好。然后,当您想要使用标准UI(如非Web应用程序?)时,可以解析这个问题,然后根据需要删除标记并进行替换。

当然,您可以编写自己的标记([myBitOfText#]而不是<!> lt; span class = <!> quot; myBitOfText / <!> gt;)但您也可以从您的数据库不需要重新设计或字符串操作。

其他提示

我会使用XML存储文档的结构,并始终在Web浏览器中显示之前应用一些XSLT转换。这样,信息可以适应不同的浏览器,或其他用法,如在普通用户界面中显示或导出到某些纯文本文档。

结构必须是有意义的,而不仅仅是格式化信息。理想情况下,它将表示某些特定于域的数据模型。

当然,如果有意义的信息是文档结构,那么没有什么能阻止你定义类似的东西:

<document>
  <title>SomeTitle</title>
  <paragraph>Some Long paragraph text</paragraph>
</document>

在此上下文中使用XML的另一个优点是,如果您的数据库支持它(如Oracle),您可以查询文本的内容。

我们假设文本不需要经常查询,或者内容仅用于显示目的。否则,可能会更好地规范化数据库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top