什麼是標記語言?
標記語言是一種用語義上可區分文本的方式來註釋文檔的系統。這個想法和術語是從紙上手稿的「標記」,即編輯們的修改指示演變而來的,傳統上用藍色鉛筆寫在做者的手稿上。編輯器
標記語言的歷史?
標記來源於傳統的標記手稿的出版實踐。當須要出版一部手稿的時候,首先手稿被交給「標記人」,他們在手稿上標記文字以代表在什麼部分該用什麼什麼字體,樣式和尺寸,標記完成後將手稿交給人手工排版。除了標記人,標記也常常被編輯,校對者,出版商和圖形設計師以及文檔做者應用。ide
- GenCode
William L. Tunnicliffe提出第一個用於計算機文本處理的標記語言gencode.
- troff和nroff
一些在出版業之外可用的計算機標記語言能夠在Unix系統上的排版工具中找到,如troff和nroff之類的。 在這些系統中,格式化命令被插入到文檔文本中,以便排版軟件能夠根據編輯器的規格格式化文本。所見即所得(「所見即所得」)的出版軟件對這些語言大量使用。
- TeX
TeX是一個由美國電腦教授高德納(Donald E. Knuth)編寫的功能強大的排版軟件。它在學術界十分流行,特別是數學、物理學和計算機科學界。TeX被廣泛認爲是一個很好的排版工具,特別是在處理複雜的數學公式時。一個名爲LaTeX的TeX宏包在TeX之上提供了一個描述性標記系統,LaTex並被普遍使用。
- Scribe
Scribe是結構和表述之間分清楚的第一個語言,Brian Reid在他的博士論文中提出。他提出了一個idea:樣式分離文檔,並提出了控制描述元素使用的語法,這影響了SGML,是HTML和LaTex的直接祖先。
- GML
IBM在20世紀60年代,建立了GML(Generalized Markup Language,通用標記語言),以在其出版系統內部實現這一需求。IBM使用GML來用單一類型的源文件維護書籍、報表以及其餘文件。
- SGML
SGML(Standard Generalized Markup Language)源於標記的重點應該是文檔結構的想法。SGML融合過gencode的思想。SGML從IBM的GML演化而來,是第一個標準化的信息結構化技術。SGML成爲了IBM內部格式化和維護合法文件的手段。SGML後來被擴展和修改,做爲一種全面的信息標準以適應工業範圍的普遍應用。但直到1986年,SGML才成爲了ISO標準。儘管SGML的功能很是強大,可是因爲它很是複雜,須要一大堆昂貴的軟件配合運行,於是在很長一段時間都沒有被推廣。
- HTML
1989年,歐洲粒子物理實驗室(CERT)的研究員 Tim Berners-Lee 和 Anders Berglund 兩人建立了一種基於標記的語言HTML,爲給Internet上共享的文章作標記。HTML能夠看做是SGML的簡化的應用。可是HTML標籤逐漸龐大,而且失去嚴謹性。
- XML 1996年,W3C尋找一種在WEB中應用SGML的靈活性和強大功能的方法,這致使了1998年2月,XML1.0規範的發佈。XML(eXtensible Markup Language,可擴展的標記語言)具有了SGML的核心特性,又很是的簡潔,XML規範的內容甚至不到SGML的十分之一,XML的簡潔可見一斑。SGML和HTML之間,XML和HTML之間的差異是巨大的,HTML能夠看做是SGML/XML的一種具體應用,SGML/XML則做爲元語言,則能夠定義出無數新的標記語言。SGML和XML之間的差異則是微小的,XML做爲SGML的子集,繼承了SGML的擴展性、結構化和有效性。