存储可以有条件地显示为文本文件一部分的文本块的最佳数据结构是什么?

What is the best data structure to store chunks of a text that can be conditionally shown as part of a text file?

让我们设置场景。这是一个文本文件:

INTRODUCTION

Paragraph 01
Paragraph 02
Paragraph 03

SECTION XXXXXX

Paragraph 01
Paragraph 02

SECTION YYYYYY

Paragraph 01

SECTION ZZZZZZ

Paragraph 01
Paragraph 02
Paragraph 03

每个段落可以包含更多段落,但让我们保持简单。

我们希望通过以下简单规则以编程方式构建文本文件:

要构建的文本类型是使用条款、隐私政策等。作为简化,包含或多或少基于网络表单响应的内容的法律文本

编辑:文本与表格分开生成。我们只有回复。

因此,我的方法是将文本块(段落)存储为数据库的列。每列连同:

因为我们可以有一个或多个条件来评估以确定一段文本是否将包含在最终文本中,所以我不确定要使用哪种数据结构。

关系数据库?列数将是动态的,因为在每种情况下都存在最初无限数量的要评估的条件。

NoSQL 数据库?,将结构存储为 JSON,包含文本 + 条件数组?

还有其他方法吗?

我用不同的方法解决了这个问题。

我们在前端构建文本文件,方法是将 2 种类型的小部件拖放到 canvas(代表文本文件的内容)中:

  • 简单的文本块
  • 条件小部件:它们将 show/hide 基于运行时在前端评估的条件的文本块(这是关键)。类似于 Angular ng-if.

然后我们编译全文,也是在前端。

因此,后端只存储文本块。无需将条件逻辑转换为数据库。现在甚至听起来很傻...