Re: 应该统一以下元素和标签的说法

個人的理解是三層:

SGML / XML : 定義語言的工具

HTML : 一個語言/一組文法, an SGML application.  Element type definition 在此
    <!ELEMENT P - O (%inline;)*            -- paragraph -->

test.html : 文件, a HTML document instance.  Element 在此, tag 也在此
    <P>This is the first paragraph.</P>

<!Element P ... --> 是 element type definition.
<P>...</P> 是整個 element.
<P> @3個字是 start tag.
</P> @4個字是 end tag.
P @1個字既是 tag name, 也是 element name.
(HTML5 spec: Tags contain a tag name, giving the element's name.)


Tag 指文字上的 <P> 和 </P>
Element 指文字上和概念上的整個東西.

例句:
* 你會用 P @個 element 嗎?
* 被 <P> @個 tag 包起來的文字自成一段.

也...還看的懂的例句:
* 你會用 <P> @個 element 嗎?
* 被 P @個 tag 包起來的文字自成一段.



==== 本文結束的分隔線 ====

補充一點意見.

前文提到:

> 在HTML 4.01 --“on SGML and HTML”3.2.1有对Element的定义:
> Each element type declaration generally describes three parts: a start tag, content, and an end tag.
> 明确地指出一个元素包含开始标签,,内容和结束标签.所以下面这个代码表示是这是个元素:
> <p>foo</p>

個人覺得@邊如果把 element type declaration 和 element 分開介紹或許更好...?


> HTML权威指南也不是完全区别对待element和tag的意思,比如第6版4.4.2写道:
>     The <acronym> tag indicates that the enclosed text is an acronym
> 其实在上下文中是指elemnent,而不是tag。

@邊原文用 <acronym> tag 好像也對, 因為前後 tag 可以 enclosing 東西.


> html是SGML(Standard Generalized Markup Language)的一种应用。
> 它仅仅是标记语言,是一种对数据的结构进行存储的一种语言,
> 就像xml,yaml,json一样。

前文沒有@個意思, 不過我第一次讀太快,
自己誤讀成 "... XML 就像 HTML, 也是 SGML 的一種應用".
查了一下資料, David Megginson 的 SGML FAQ 的第8點有提到:

8) What's the difference between SGML and XML?

   ANSWER: Unlike HTML, XML is not an SGML application -- instead,
    it's a set of simple conventions for using SGML without some of
    the more esoteric features.  It's still SGML, though.

所以 XML 和 SGML 一樣, 比 HTML 更高一層.


LCamel

Received on Tuesday, 12 April 2011 06:23:59 UTC