Sql 以数字方式存储课程笔记/中等大小文本的最佳方式-必须是:高效、易于在网络上显示、灵活

Sql 以数字方式存储课程笔记/中等大小文本的最佳方式-必须是:高效、易于在网络上显示、灵活,sql,xml,text,design-decisions,Sql,Xml,Text,Design Decisions,我正在建立我的个人网站,我想把我的课程笔记存储在上面。 我的课程笔记目前在纸上,所以我会把它们打出来。 我正在考虑将我的每门课程存储在自己的XML文件中,其结构如下: 破折号表示标记,不考虑数字 COURSE1.XML -Title -Topic 1 - Sub Topic 1.1 - Multimedia link - Code link - Actual Text - Sub Topic

我正在建立我的个人网站,我想把我的课程笔记存储在上面。 我的课程笔记目前在纸上,所以我会把它们打出来。 我正在考虑将我的每门课程存储在自己的XML文件中,其结构如下: 破折号表示标记,不考虑数字

COURSE1.XML
-Title  -Topic 1
        - Sub Topic 1.1
            - Multimedia link
            - Code link
            - Actual Text
        - Sub Topic 1.2             
                    ...
        - Topic 2           
             ...
我的网站想法是,如果用户点击课程1链接,我的程序就会找到XML解析它并显示它的内容

My Requirements:
    - Must be able to display on web sites

    - Parsing should be fast

    - In the future I might do other things so I want something that is flexible.
为此使用XML是一个好的设计决策吗?还是我能做得更好? 如果XML是一个好的设计决策:我应该继续我目前的每门课程1个XML的设计,还是为一门课程设置一个文件夹,为每个主题设置1个XML? 除了XML,我还有什么其他选择


希望这不是太主观…

构建自己的web框架解决方案非常困难。从零开始,制作视觉上令人愉悦并验证html标准的东西是一项巨大的工作

您需要的是CMS或内容管理系统。这将允许您专注于内容,而不是服务器上存储内容的文档格式。大多数CMS使用数据库(如PostgreSQL或MySQL)来存储其内容,而不是文件系统上的文件

此外,您声明将使用XML文档的内在体系结构。XML文档没有任何预定义的文档格式逻辑层次结构。这将需要为您的文档定义一个结构,这将很容易忘记或忽略,导致文档不连贯。您最好使用已经为此类文档(例如,等)完成的语言。这些语言中的大多数将能够使用它们的转换器生成html和pdf文档

要从简单的事情开始,你应该从一些wiki软件(例如)开始,这可能会给你所需要的灵活性

另一个解决方案是使用文档构建软件,例如,它将从重构的文本源构建整个网站。还有许多其他文档生成器可用,您应该查看它们

至少但并非最后一点,使用所见即所得工具(or)或框架(wordpress、Django、Ruby on Rails等)的成熟web CMS将允许您相对轻松地创建网站

如果您真的想实现自己的网站框架/CMS,请记住,您需要创建一个类似于模型-视图-控制器的系统。这可以从头开始,使用前端系统显示HTML(like)或处理模板(like)作为视图,使用数据库系统或原始文件(即XML)作为模型,使用控制器以编程语言将前两者粘合在一起,可由web服务器执行(通过CGI或其他更好的方式,具体取决于您使用的语言),如nginx、apache、lighttpd等。

请参阅: