【发布时间】:2010-11-14 03:11:01
【问题描述】:
我想创建一个网站。在搜索了可用于网页的所有可能技术后,我发现 XML 是存储数据的最佳方式。这个想法是分开保存数据和表示。我会使用样式表来展示网页。
那么使用 XML 而不是 HTML 来存储网页会更好吗?如果是,那么我可以使用哪个工具来创建我的网页。
【问题讨论】:
我想创建一个网站。在搜索了可用于网页的所有可能技术后,我发现 XML 是存储数据的最佳方式。这个想法是分开保存数据和表示。我会使用样式表来展示网页。
那么使用 XML 而不是 HTML 来存储网页会更好吗?如果是,那么我可以使用哪个工具来创建我的网页。
【问题讨论】:
如果您的意思是要输出 XML 并让浏览器找出您的 XSL...绝对不要这样做。
使用 XHTML。它是符合 various DTDs 定义的 XML 规范的 HTML。
此外,您应该知道,将数据(页面元素)与表示完全分开通常是不切实际的。我敢肯定 100 人会在这方面不同意我的观点,但是您应该将精力更多地集中在构建兼容、可访问和可维护的页面上(正如 @SHiNKiROU 所说),而不是页面元素和布局/CSS 之间的完美分离.
通常,这些目标与内容与设计的分离是一致的,但有时并非如此。
【讨论】:
您最好单独存储数据,例如在数据库中,然后让 Web 应用程序检索数据并将其格式化为 HTML(或其他任何内容)。
如果您不使用 Web 应用程序并且只是手动编写一些页面,XML + XSLT 可以工作,但它可能不会带来任何真正的好处。
如果您想同时提供数据服务和一个网站,那么 XML + XSL 会很棒。举个很好的例子,看看暴雪的大部分页面。
不久前看到这个类似的问题:What is preventing widespread use of XSLT for webpages?
【讨论】:
同时使用:xhtml
【讨论】:
带有 XSLT 或其他样式方法的 XML 可用于创建网页。但我认为有人需要一个真正令人信服的理由才能这样做。基本上,这个令人信服的理由只能是:
我们已经拥有所有的数据 准备好了,正是,因为我们需要它 对于网站,立即准备就绪 使用,只需要创建一个 几个 XSLT,我们就准备好了。
我认为这几乎不适用于任何人。即使它确实适用,使用一些其他技术生成大部分站点可能仍然会更好,并且只需将 XML 导入并在其他一些框架中显示它。
【讨论】:
XHTML 基本上是需要可验证的 XML 结构的 HTML。关键是您不太可能实现在不同平台上可能会有不同解释的小错误。并且您可以更轻松地验证您的工作是否符合既定的浏览器标准(您会立即收到问题警报,而 HTML 经常会出错而默默地落入裂缝)。
这里是关于 XHTML 的更多信息:
http://www.w3schools.com/xhtml/xhtml_intro.asp
http://www.w3schools.com/xhtml/xhtml_html.asp
许多知名网站都使用 XHTML,但更多网站只使用普通的旧 HTML。我倾向于使用普通的旧 HTML,因为它可以工作,而且我会小心翼翼。如果您是第一次学习并且不介意多花几个小时以“正确”的方式进行学习,请选择 XHTML。
不过,我将在此讨论中补充一点,您的问题是关于存储数据的,您应该在术语中区分“存储数据”和呈现视图。一个设计良好的网站通常会将数据存储在某个数据存储区(通常是数据库)中,并以某种形式呈现数据(可能是 XML,或者更常见的是对象集合),并使用视图技术以可能的方式呈现该信息成为许多不同形式中的一种。一个可能是 XHTML,但您可以为移动用户创建相同数据的另一个视图,为 B 到 B 后端应用程序、Web 服务或 iPhone 应用程序创建 XML 的相同数据的另一个视图......列表如下上。
关键是,如果您在一开始就设计好您的应用程序(这里给您一个新术语),使用模型-视图-控制器方法很容易为相同的后端数据创建不同的“视图”,无论该数据是如何存储的。这意味着您将创建最终呈现 HTML/XHTML、Web 服务等的代码与用于创建该视图的数据分开。在 Java 世界中,Spring-MVC 框架就是一个很好的例子。
我希望这可以帮助您朝着正确的方向前进。
【讨论】:
对于可访问性、兼容性和可维护性,我会说不。 HTML是制作网页的标准,手机和终端浏览器呈现HTML。 此外,XML 在语法上是严格的。如果出现语法错误,则整个页面中断。
为获得更好的解决方案,请将 XML 数据放入您的服务器并使用 PHP 或 ASP 将数据处理和呈现为 HTML。更好的是,使用关系数据库来存储数据。
【讨论】: