javascript - 为什么 XML 不打算用作表示语言?

标签 javascript xml oop xhtml presentation

<分区>

我有兴趣创建尽可能简单而不是更简单的 Web 应用程序。我的意思是,在我看来,我可以(*应该能够*)创建一个表示我的应用程序对象的 XML 文档,使用 CSS 作为“表示层”,并使用 Javascript 来操作对象。

我所说的一部分是,在我看来,HTML 通过将对象与表示格式混合来混淆应用程序,这不是 CSS 的重点吗? -- HTML/XML:什么数据,CSS:如何呈现数据,(JS:如何操作数据)

我*可以*使用 XLST 将 XML 转换为 XHTML,但是 JS 必须针对 XHTML(表示元素)而不是 XML(数据对象)进行编码,这增加了不必要的复杂性。

我从程序员的 Angular 出发,希望使用设计原则,例如将表示与数据分离(HTML/XML 与 CSS)和面向对象的编程。说目前 HTML 和 CSS 是“定义”表示层所必需的不是没有意义吗?

我正在寻找的评论是关于正确的编码方式,而不是关于当前标准的“修复”。

这是一个例子。我可以这样写:

HTML/XHTML:

<ul class="folderTree">
    <li class="fTreeItem"><img /><span class="fTreeItemName">Directory</span>
        <ul class="fTreeItemContents">
            ...
        </ul>
    </li>
    ...
</ul>

...但是如果我能这样做,设计原则会更好地得到满足:

<folderTree>
    <item><img /><name>Directory</name>
        <folderTree>
            ...
        </folderTree>
    </item>
</folderTree>

并包含以下 CSS:

folderTree { display: block; }
folderTree item { display: list-item; }
folderTree name { display: inline; }

在我看来,这是呈现数据的正确方式。你不同意吗?请解释...

编辑:我的问题的基础在于以下事实:a) 用户定义的标签不能用于 HTML/XHTML,b) javascript 不适用于 XML。

编辑 2:此外,我并不完全熟悉如何在文档中处理多个命名空间。因此,如果有人可以阐明我是否可以通过使用 XHTML 文档并使用另一个 namespace 包含我的 XML 代码/标签来实现我的目标...

最佳答案

HTML 具有定义了含义的元素和属性。它们被各种各样的客户理解,包括常见的可视化网络浏览器、搜索引擎索引机器人和屏幕阅读器。它有一些遗留的表示属性和元素,但它们大多已被删除或标记为要避免。

您的自定义 XML 语言中的元素和属性可能比 HTML 中的元素和属性具有更具体的含义,但客户无法理解它们的含义。您可以使用样式表为视觉用户处理该问题,但不能很好地为搜索引擎、屏幕阅读器和其他用户提供服务。

关于javascript - 为什么 XML 不打算用作表示语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24438176/

相关文章:

java - 无状态以服务为中心的方法与有状态的丰富模型

javascript - 将 HTML 剥离为允许的标签

javascript - wordpress 将变量传递给 javascript

php - 如何更改XML节点值?

java - 将 Hl7 消息转换为 Json

javascript - AJAX 与 XML 有什么关系?

Python:与 OOP 中的类、属性和方法混淆

javascript - 如何利用 AngularJS 指令的功能将渲染内容推迟到单击事件发生?

javascript - 是否有等效于 SVG 的 Canvas toDataURL 方法?

c++ - 用 }; 结束类定义中的函数是否是 C++ 中的语法错误?