-
標記語言
鎖定
- 中文名
- 標記語言
- 外文名
- Markup Language
- 其他稱呼
- 置標語言、標誌語言、標識語言
- 外國語縮寫
- XML
標記語言主要類型
標識性置標語言
“標識性置標語言” (外語:Presentational markup)是在編碼過程中,標記文檔的結構信息。例如,在文本文件中, 文件的標題可能需要用特定的格式表示(居中,放大等),這樣我們就需要標記文件的標題。字處理以及桌面出版產品有時候能夠自動推斷出這類的結構信息,但是絕大多數的,像Wiki這樣的純文本編輯器還不能解決這個問題。
過程性標識
“過程性置標語言”(外語:Procedural markup) 一般用於文字的表達,通常對於文本編輯者可見,並且被軟件依其出現順序依次解讀 。 為了格式化標題,在標題文本之前,緊接着插入一系列的格式標識符,指示計算機轉換到居中的顯示模式,同時加大及加粗字體。在標題文本之後,會緊接綴上格式中止標識; 對於更高級的系統宏命令或者堆棧模式會讓這一過程的實現方式更加豐富 。大多數情況下, 過程性置標能力包含有一個Turing-complete編程語言。 過程性置標語言的範例有:nroff, troff, TeX, Lout 以及 PostScript. 過程性置標語言被廣泛應用在專業出版領域, 專業的出版商會根據要求使用不同的置標語言以達到出版要求.
描述性標記
歷史
“置標”這個詞來源自傳統出版業的“標記”一個手稿,也就是在原稿的邊緣加註一些符號來指示打印上的要求。 長久以來,這個工作都是由專門的“標記人”(外語:markup men )或“複製標記”(外語全稱:copy markers
[3]
)以及校對人來進行,對原稿標誌出使用什麼樣的字體,字型以及字號,然後再將原稿交給其他人進行手工的排版工作。
- GenCode
TeX是一個由美國電腦教授高德納(Donald E. Knuth)編寫的功能強大的排版軟件。它在學術界十分流行,特別是數學、物理學和計算機科學界。TeX被普遍認為是一個很好的排版工具,特別是在處理複雜的數學公式時。利用諸如是LaTeX等終端軟件,TeX就能夠排版出精美的文本。
- 標準通用標記語言
標準通用標記語言是一種專門的置標語言,被用作編寫《牛津英語詞典》的電子版本。由於它的複雜,導致難以普及。
超文本標記語言(標準通用標記語言下的一個應用、外語縮寫:HTML)是為網頁創建和其它可在網頁瀏覽器中看到的信息設計的一種標記語言。
可擴展標記語言(標準通用標記語言下的一個子集、外語縮寫:XML),又稱可擴展置標語言,是一種標記語言。置標指電腦所能理解的信息符號,通過此種標記,電腦之間可以處理包含各種信息的文章等。
- 其他基於可擴展標記語言的應用
標記語言歷史發展
標記語言,用一系列約定好的標記來對電子文檔進行標記,以實現對電子文檔的語義、結構、及格式的定義。這些標記必須很容易的和內容區分,並且易於識別。標記語言的發展如下:
一、為了促進數據交換和操作,在20世紀60年代,通過IBM公司研究人員的傑出工作,得出了重要的結論:要提高系統的移植性,必須採用一種通用的文檔格式,這種文檔的格式必須遵守特定的規則。這也就是創建通用標記語言的指導原則,從人們所產生的將文件結構化為標準的格式的動機出發,IBM創建了通用標記語言。
二、在標記語言的概念達成共識的基礎上,IBM公司的研究人員Charles Goldfarb帶領的開發團隊完善着通用標記語言,將其稱為標準通用標記語言,標準通用標記語言成為了IBM內部格式化和維護合法化文件的手段。後來被拓展和修改,作為一種全面的信息標準以適應工業範圍的廣泛應用,1986年,標準通用標記語言被國際標準化組織(ISO)所採納。
他的功能非常強大,但是非常複雜,需要許多昂貴的軟件配合運行,因此在很長一段時間內沒有被推廣。
三、1989年,歐洲粒子物理實驗室(CERT)的研究員Tim Berners-Lee和Anders Berglund共同創建了一種基於標記的語言HTML,他可看做標準通用標記語言的簡單應用,開始時僅僅提供一種對靜態文本的信息顯示的方法,後來越來越多的標籤產生,兩大瀏覽器廠商微軟和網景格式,甚至創建了自己的產品的兼容標籤,使HTML變得臃腫不堪,兼容性不好。
四、1996年人們開始致力於描述一個新的標記語言,它是一種在WEB中應用標準通用標記語言的靈活性和強大功能的方法,萬維網聯盟--領導萬維網,制定其公共的協議,促進萬維網的發展並確保其互操作性的國際組織)專門成立了專家小組以從事這項工作。1998.2,w3c批准了XML1.0規範。可擴展標記語言具備標準通用標記語言的核心特性,但簡潔,他的內容甚至不到標準通用標記語言的十分之一。
標記語言其他應用
XAML(ExtensibleApplicationMarkupLanguage),基於XML語言,在微軟WPF(WindowsPresentationFoundation)中使用。
XAML提供了一種便於擴展和定位的語法來定義和程序邏輯分離的用户界面,而這種實現方式和ASP.NET中的"代碼後置"模型非常類似。XAML是一種解析性的語言,儘管它也可以被編譯。它的優點是簡化編程式上的用户創建過程,應用時要添加代碼等。
用文本編輯器打開一個XAML文件,會發現一個XAML文件只有一個元素作為根,這個根是應用程序整個運行時的對象圖。在這個根下,可以採用3種方式來聲明對象以構建一個有意義的XAML文件。接下來介紹一下XAML文件的結構和對象:
1.直接使用對象元素語法
如果objectName是一個需要實例化的類型名稱,那麼可以用如下代碼創建對象:
<objectName>
</objectName>
一般一個對象還包括其他對象,那麼可以這樣表示:
<objectName>
<otherobjectName>
</otherobjectName>
</objectName>
為了方便,也可以省略成如下形式:
<objectName>
<otherobjectName/>
</objectName>
2.使用屬性語法設置屬性
如果objectName是要實例化的對象,propertyName是要設置的屬性名稱,propertyValue是要設置的屬性的值。那麼應該使用的代碼如下所示:
<objectName propertyName="propertyValue".../>
或者:
<objectName propertyName="propertyValue">
...<-element children-->
</objectName>
3.標記擴展
標記擴展是一個XAML屬性語法,採用花括號({和})表示標記擴展。此方法可以講屬性值不僅僅看做一段字符或者文本,分析器會調用適用該特定標記擴展的代碼,從而在標記中構造對象。
這種方法被廣泛用於數據綁定上,比如:
<Grid x>:Name="LayoutRoot"Background="White">
<ComboBox ItemsSource="{Binding ElementName=LayoutRoot}"/>
</Grid>
- 參考資料
-
- 1. Markup Systems and the Future of Scholarly Text Processing .cover pages[引用日期2013-11-27]
- 2. TEX and LATEX 2e .ams[引用日期2013-11-27]
- 3. Notebooks of H.J.H & D.H.A on Composition, Kingsport Press Inc., undated (1960s).
- 4. WP7開發:XAML代碼創建及屬性設置 .新華網[引用日期2017-03-08]