2014-03-03 43 views
1

SGML是HTML和XML的超集。有豐富的HTML和XML解析器可用。您能否請我解釋一下SGML(標準通用標記語言)的使用

  1. SGML(示例業務scneario)在當前業務域中的使用情況?

    它是在處理法律系統?

  2. HTML和XML文檔有HTML和XML解析器。爲什麼SGML解析器?

我的想法可能是錯誤的請給我一些反饋?

回答

1

在當前業務領域中使用SGML(示例業務場景)? 是在處理遺留系統時使用的嗎?

是的,我認爲這主要是針對遺留系統,雖然你可以使用它的:即(AB)使用SGML最小化,以提供更簡潔的文件(當SGML是

1.Weird語法發明的,用於通過鍵入他們寫SGML文件的人,因此也有在SGML幾個特點,定向來減少字符是必須輸入

{config: 
    {attribute name="network":127.0.0.0/8 192.168.123.0/30;} 
    {attribute name="action":allow;} 
    ;} 

取而代之的號碼):

<config> 
    <attribute name="network"> 
     127.0.0.0/8 192.168.123.0/30 
    </attribute> 
    <attribute name="action"> 
     allow 
    </attribute> 
</config> 

(當然,這種使用情況有幾個缺點,我不知道這是否遠遠超過它的缺點,但值得一提的,雖然)

2.Conversion從半結構化的人類格式,其中部分的文字實際上是標籤。 舉例來說,幾年前我有一個實際的工作,涉及從這個轉換:

From: 
To: 

This is the subject 
(there is a blank line before the subject, 
the subject ends with a blank line, 
and everything between parentheses is a comment) 

This is the message body 

對此

<from>sender</from> 
<to>addressee</to> 
<subject>This is the subject</subject> 
<!-- there is a blank line before the subject, 
the subject ends with a blank line, 
and everything between parentheses is a comment --> 
<body>This is the message body</body> 

實際的例子是更加複雜的,有許多變化和,可選的元素,那麼我發現通過SGML轉換它比爲它編寫解析器更容易。

HTML和XML文檔有HTML和XML解析器。爲什麼SGML解析器?

HTML是用於描述一個網頁(BODY,DIV,TABLE,等)的結構的標記語言,那麼它是不適合於描述更一般的信息,例如配置文件,供應商的列表,書目等等(也就是說,您可以將它顯示在用HTML編寫的網頁中,但這些信息將很難通過自動化系統提取)

另一方面,XML的定位是爲了描述任意數據結構,與佈局問題。 解析XML文檔很容易,因爲XML基於簡單的規則(文檔必須是良構)。正是由於這個規則,你不能用XML解析器解析SGML文件(除非SGML文件本身是格式良好的XML文檔)。

3.Playing與忽略/包括明顯的部分

<!ENTITY % withAnswers "IGNORE"> 

What is the answer to life the universe and everything? 
<![%withAnswers;[ 42 ]]> 

如果要包括生產文檔中的答案,只是更換第一行:

<!ENTITY % withAnswers "INCLUDE"> 

(但你可以也使用XML和參數化的XSLT來實現相同的結果)

0

SGML不僅僅是傳統,還有大量組織繼續使用SGML作爲文檔(想想波音/空客/巴西航空工業公司),即他們最近修訂的數據直接發佈在SGML中。

遵循數據標準的行業航空運輸協會(ATA)被鎖定在使用標準部門使用的格式,所以SGML仍然很大。

在技術出版物鏈中的某個時刻,這通常會被轉換爲XML和/或HTML,但作爲原始數據源,SGML還有待於進一步發展。