標準の一般化マークアップ言語

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
標準の一般化マークアップ言語
SGML.svg
ファイル名拡張子
.sgml
インターネットメディアタイプ
application / sgml、text / sgml
ユニフォームタイプ識別子(UTI)public.xml [説明が必要]
によって開発されたISO
フォーマットの種類マークアップ言語
から拡張GML
に拡張HTMLXML
標準ISO 8879

Standard Generalized Markup LanguageSGML ; ISO 8879:1986)は、ドキュメントの一般化マークアップ言語を定義するための標準です。ISO 8879 Annex A.1は、一般化されたマークアップは「2つの仮定に基づいている」と述べています。[1]

  • 宣言型:マークアップは、将来の開発と競合する可能性が低いため、実行する必要のある処理を指定するのではなく、ドキュメントの構造やその他の属性を記述する必要があります。
  • 厳密:マークアップが処理に使用できる手法を利用できるようにするには、マークアップでプログラムやデータベースなどのオブジェクトを厳密に定義する必要があります。

DocBook SGMLとLinuxDocは、実際のSGMLツールでほぼ独占的に使用された例です。

標準バージョン

SGMLはISO標準です:「ISO8879:1986情報処理–テキストおよびオフィスシステム–標準一般化マークアップ言語(SGML)」、3つのバージョンがあります:

  • 1986年10月に承認された元のSGMLと、それに続くマイナーな技術正誤表。
  • SGML(ENR)は、1996年に、技術正誤表により、任意の言語とスクリプトのマークアップを可能にする拡張命名規則を追加した結果です。
  • SGML(ENR + WWWまたはWebSGML)は、1998年に、XMLおよびWWW要件をより適切にサポートするための技術正誤表から生まれました。

SGMLは、 ISO / IEC JTC1 / SC34 [1] [2](ISO / IEC合同技術委員会1、小委員会34 –文書の説明と処理言語) によって開発された電子文書のISO標準を有効にするトリオの一部です。

  • SGML(ISO 8879)–一般化されたマークアップ言語
    • SGMLは、1998年に、SGMLの成功したプロファイルであるXMLに作り直されました完全なSGMLが新しいプロジェクトで見つかったり、使用されたりすることはめったにありません。
  • DSSSL (ISO / IEC 10179)–スキームに基づくドキュメント処理およびスタイリング言語
  • HyTime –一般化されたハイパーテキストとスケジューリング。[3]
    • HyTimeは部分的にW3CXLinkに作り直されまし HyTimeが新しいプロジェクトで使用されることはめったにありません。

SGMLは、特にさまざまなテクニカルレポートでサポートされています

  • ISO / IEC TR 9573 –情報処理– SGMLサポート機能–SGMLを使用するためのテクニック[4]
    • パート13:数学と科学のための公的機関セット
      • 2007年、W3C MathMLワーキンググループは、これらのエンティティセットの保守を引き受けることに同意しました。

歴史

SGMLは、1960年代にCharles Goldfarb、Edward Mosher、およびRaymondLorieが開発したIBMGeneralizedMarkup Language(GML)の子孫です。国際規格の編集者であるGoldfarbは、名前のイニシャルを使用して「GML」という用語を作り出しました。[5] Goldfarbは、「SGMLハンドブック」にSGML構文に関する決定的な作業も書いています。[6] SGMLの構文はCOCOA形式に近いです。[説明が必要]ドキュメントマークアップ言語として、SGMLはもともと機械可読の共有を可能にするために設計されました政府、法律、および業界における大規模プロジェクトのドキュメント。このようなドキュメントの多くは、情報技術の分野で長い間、数十年にわたって読み取り可能である必要があります。SGMLは、軍隊、航空宇宙、技術参照、および産業出版業界によっても広く適用されました。XMLプロファイルの出現により、SGMLは小規模な汎用用途の広範なアプリケーションに適したものになりました。

Oxford English Dictionary (1985)の断片で、SGMLマークアップを示しています

ドキュメントの有効性

SGML(ENR + WWW)は、2種類の有効性を定義します。ISO 8879の改訂された用語と定義(公開ドラフト[7]から)によると:

準拠するSGMLドキュメントは、タイプが有効なSGMLドキュメント、タグが有効なSGMLドキュメント、またはその両方である必要があります。注:ユーザーは、ドキュメントインスタンスが統合的に保存されているか、エンティティ参照がないかなど、ドキュメントに追加の制約を適用したい場合があります。

タイプが有効なSGMLドキュメントは、標準で次のように定義されています。

ドキュメントインスタンスごとに、そのインスタンスが準拠するDTDを持つドキュメントタイプ宣言(DTD)が関連付けられているSGMLドキュメント。

タグが有効なSGMLドキュメントは、標準で次のように定義されています。

すべてのドキュメントインスタンスが完全にタグ付けされているSGMLドキュメント。インスタンスのいずれかに関連付けられたドキュメント型宣言は必要ありません。注:文書型宣言がある場合、インスタンスはそれを参照するかどうかに関係なく解析できます。

用語

タグの有効性はSGML(ENR + WWW)で導入され、DOCTYPE宣言はないが文法なしで解析できるドキュメント、またはドキュメントにXMLInfosetが寄与しないDOCTYPE宣言があるドキュメントをサポートするXMLをサポートします。標準では、これを完全にタグ付けされたと呼びます。統合的に保存されるのは、要素が開始したのと同じエンティティで終わるというXML要件を反映しています。Reference-freeは、エンティティ参照が特殊文字用であり、マークアップを含まないというHTML要件を反映しています。SGMLの有効性に関する解説、特に1997年より前に作成された、またはSGML(ENR + WWW)を認識していない解説はタイプ-有効性のみ。

SGMLの妥当性の強調は、マークアップが厳密であるべきであるという一般化されたマークアップの要件をサポートします。(ISO 8879 A.1)

構文

SGMLドキュメントは、次の3つの部分で構成されます。

  1. SGML宣言、
  2. プロローグ。DOCTYPE宣言と、ドキュメント型定義(DTD)を一緒に作成するさまざまなマークアップ宣言が含まれています。
  3. インスタンス自体。最上位の要素とその内容が1つ含まれています。

SGMLドキュメントは、多くのエンティティ(個別のテキスト)で構成されている場合があります。SGMLでは、ドキュメントで使用されるエンティティと要素タイプをDT​​Dで指定でき、さまざまな文字セット、機能、区切り文字セット、およびキーワードをSGML宣言で指定して、ドキュメントの具体的な構文を作成します。

完全なSGMLでは、暗黙的なマークアップやその他の種類のタグが許可されていますが、XML仕様(s4.3.1)には次のように記載されています。

各XMLドキュメントには、論理構造と物理構造の両方があります。物理的には、ドキュメントはエンティティと呼ばれるユニットで構成されています。エンティティは、他のエンティティを参照して、それらをドキュメントに含めることができます。ドキュメントは「ルート」またはドキュメントエンティティで始まります。論理的には、ドキュメントは宣言、要素、コメント、文字参照、および処理命令で構成され、これらはすべて明示的なマークアップによってドキュメントに示されます。

基本的な最新のSGML構文の概要については、XMLを参照してください。次の資料は、XMLにない機能に焦点を当てており、SGML構文の包括的な要約ではありません。

オプション機能

SGMLは、1980年代半ばに見られたように、幅広いマークアップ言語を一般化してサポートします。これらは、簡潔なWikiのような構文から、RTFのような括弧で囲まれた言語、HTMLのようなマッチングタグ言語にまで及びました。SGMLは、SGML宣言で有効にできる多数のオプション機能で拡張された、比較的単純なデフォルトの参照具体構文によってこれを行いました。すべてのSGMLパーサーが必ずしもすべてのSGMLドキュメントを処理できるわけではありません。各プロセッサのシステム宣言はドキュメントのSGML宣言と比較できるため、ドキュメントが特定のプロセッサでサポートされているかどうかを常に知ることができます。

多くのSGML機能は、マークアップの最小化に関連しています。その他の機能は、同時(並列)マークアップ(CONCUR)、リンク処理属性(LINK)、およびSGMLドキュメント内へのSGMLドキュメントの埋め込み(SUBDOC)に関連しています。

カスタマイズ可能な機能の概念はWebでの使用には適切ではなかったため、XMLの1つの目標は、オプションの機能を最小限に抑えることでした。ただし、XMLの整形式ルールは、Wikiのような言語をサポートできないため、標準化されておらず、非テキスト情報システムとの統合が困難です。

具体的および抽象的な構文

通常の(デフォルトの)SGML具象構文は、次の例に似ています。これは、デフォルトのHTML具象構文です。

<QUOTE  TYPE = "example" >
  通常、<ITALICS> this </ ITALICS> 
</ QUOTE>のようなもの

SGMLは、さまざまな種類の具体的な構文で実装できる抽象構文を提供します。マークアップ標準では、SGMLドキュメントの開始タグと終了タグの区切り文字として山かっこを使用していますが(標準で定義された参照の具体的な構文に従って)、ドキュメントのSGMLで適切な具体的な構文が定義されている場合は、他の文字を使用できます。宣言[8]たとえば、SGMLインタープリターは、GMLを解析するようにプログラムされている場合があります。この場合、タグは左コロンと右終止符で区切られます。つまり、:eプレフィックスは終了タグを示します::xmp.Hello, world:exmp.参照構文によれば、大文字と小文字(大文字または小文字)はタグ名で区別されないため、(i)<quote>、(ii) <QUOTE>、および(iii)の3つのタグ<quOtE>は同等です。注:具体的な構文は、NAMECASE NAMING宣言を介してこのルールを 変更する場合があります)。

マークアップの最小化

SGMLには、ドキュメントをマークアップするために必要な文字数を減らす機能があります。これは、SGML宣言で有効にする必要があります。SGMLプロセッサは、利用可能なすべての機能をサポートする必要がないため、アプリケーションは多くの種類の不注意によるマークアップの省略を許容できます。ただし、SGMLシステムは通常、無効な構造に耐性がありません。XMLは構文の省略に耐えられず、整形式性をチェックするためにDTDを必要としません。

OMITTAG

次の場合、開始タグと終了タグの両方をドキュメントインスタンスから省略できます。

  1. OMITTAG機能はSGML宣言で有効になっています。
  2. DTDは、タグの省略が許可されていることを示しています。
  3. (開始タグの場合)要素には必須の(#REQUIRED)属性が関連付けられておらず、
  4. タグは、コンテキストによって明確に推測できます。

たとえば、SGML宣言(OMITTAG機能を有効にする)でOMITTAG YESが指定されており、DTDに次の宣言が含まれている場合:

<!ELEMENT チャプター -   タイトルセクション+)> < !ELEMENTタイトルo o #PCDATA > <!ELEMENTセクション- タイトルサブセクション+ > 
    
     

次に、この抜粋:

<chapter> SGMLの概要
<section> SGML宣言
<subsection>
..。

<title>2つのタグと2つのタグを省略した</title>場合、有効なマークアップを表します。

タグの省略はオプションです–同じ抜粋に次のようにタグを付けることができます。

<chapter> <title> SGMLの概要</ title> 
<section> <title> SGML宣言</ title> 
<subsection>
..。

それでも有効なマークアップを表します。

注:OMITTAG機能は、宣言されたコンテンツがEMPTYDTDで定義されている 要素のタグ付けとは関係ありません。

<!ELEMENT  image  -  o  EMPTY >

このように定義された要素には終了タグがなく、ドキュメントインスタンスで終了タグを指定すると、無効なマークアップが発生します。これは、この点でXMLの空の要素 と構文的に異なります。

SHORTREF

タグは、SHORTREF機能を使用して、ターサーマークアップ用の区切り文字列に置き換えることができます。このマークアップスタイルは、ウィキマークアップに関連付けられています。たとえば、行の先頭にある2つの等号(==)が「見出しの開始タグ」であり、その後の2つの等号(==)が「見出しの終了タグ」。

SHORTTAG

具体的な構文でSHORTTAGVALUE機能を有効にするSGMLマークアップ言語では、英数字のみを含む属性値を引用符(double " "(LIT)またはsingle ' '(LITA))で囲む必要がないため、前のマークアップの例を記述できます。

<QUOTE  TYPE = example >
  通常は<ITALICS> this < />
 </ QUOTE>のようなもの

SGMLマークアップ言語の機能の1つは、「豪華な空のタグ付け」です。この場合、空の終了タグ</><ITALICS>this</>、最も近い前の完全な開始タグからその値を「継承」します。<ITALICS>つまり、この例では、最も多くのタグを閉じます。最近開いたアイテム)。したがって、式は。と同等<ITALICS>this</ITALICS>です。

NET

もう1つの機能は、NET(Null End Tag)構造です。<ITALICS/this/これは構造的に。と同等<ITALICS>this</ITALICS>です。

その他の機能

さらに、SHORTTAG NETENABL IMMEDNET機能では、空のテキスト値を囲むタグを短縮できますが、完全なタグを短縮することはできません。

<QUOTE> </ QUOTE>

次のように書くことができます

<見積もり// 

ここで、最初のスラッシュ(/)はNET対応の「start-tagclose」(NESTC)を表し、2番目のスラッシュはNETを表します。注: XMLはNESTCを/で定義し、NETを>(山括弧)で定義します。したがって、XMLの対応する構成は<QUOTE />として表示されます。

3番目の機能は「同じ行のテキスト」で、マークアップアイテムを行末で終了できます。見出しなどに特に役立ち、SHORTREFまたはDATATAG最小化のいずれかを使用する必要があります。たとえば、DTDに次の宣言が含まれている場合:

<!ELEMENT  *)> 
<!ELEMENT  O  -  ( # PCDATA > 
<!ENTITY    line-tagc   "</ line>" > 
<!SHORTREF  1行 "&#RE;&#RS;"  line-tagc > 
<!USEMAP1    >

(そして「&#RE;&#RS;」は具体的な構文の短い参照区切り文字です)、そして:

<行>
最初の行
二行目
</ lines>

と同等です:

<lines> 
<line>最初の行</ line> 
<line> 2番目の行</ line> 
</ lines>

正式な特性評価

SGMLには、人気のある正式なオートマトン理論と1980年代および1990年代の現代のパーサー技術による便利な説明に反する多くの機能があります。標準は付録Hで警告します:

オートマトン理論は、コンテンツモデルへの準拠の概念のいくつかの側面の理論的基盤を提供するため、 SGMLモデルグループ表記法は、オートマトン理論の正規表現表記法に類似するように意図的に設計されました。オートマトンのコンテンツモデルへの一般的な適用性については、何も想定しないでください。

基本的なSGMLのパーサーであるAmsterdamSGMLパーサーの初期実装に関するレポート[9 ]

SGMLのDTD文法は、LL(1)条件によく似た明確性の概念に準拠している必要があります

さまざまな違いを指定します。

既知のクラスの形式文法に対する完全なSGMLの明確な分類はないようです。もっともらしいクラスには、木接合文法適応文法が含まれる場合があります。

XMLは、一般に、検証されていないXMLの2レベルの文法や、有効なXMLのコルーチンレクサーパーサー、バリデーター)のConwayスタイルのパイプラインのように解析可能であると説明されています。[10] ISO規格のSGML制作は、LL(3)またはLL(4)であると報告されています。[11] XMLクラスのサブセットは、W文法を使用して表現可能であると報告されています。[12]ある論文によると、[13]おそらく、文字または区切り文字レベルではなく 、情報セットまたは解析ツリーレベルで検討されます。

特定のSGMLドキュメント文法に準拠するドキュメントのクラスは、LL(1)言語を形成します。...ただし、SGMLドキュメントの文法自体は、LL(1)文法ではありません。

SGML標準では、解析ツリーなどの正式なデータ構造を使用してSGMLを定義していませんただし、SGMLドキュメントは、 「エンティティ」と呼ばれる物理ストレージユニットのルート化された有向非巡回グラフ(RDAG)で構成され、「要素」と呼ばれる構造ユニットのRDAGに解析されます。物理グラフはエンティティツリーとして大まかに特徴付けられますが、エンティティは複数回表示される場合があります。さらに、構造グラフも要素ツリーとして大まかに特徴付けられますが、ID / IDREFマークアップは任意のアークを許可します。

構文解析の結果は、さまざまな表記のデータツリーとして理解することもできます。ここで、ドキュメントはルートノードであり、他の表記法(テキスト、グラフィックス)のエンティティは子ノードです。SGMLは、外部の非SGMLエンティティにリンクして注釈を付けるための装置を提供します。

SGML標準では、マップ認識モード(s9.6.1)の観点からそれを説明しています。各エンティティおよび各要素は、関連付けられた表記法または宣言されたコンテンツタイプを持つことができます。これにより、そのエンティティおよび要素で認識される参照とタグの種類が決まります。また、各要素には、関連付けられた区切り文字マップ(および短い参照マップ)を含めることができます。これにより、コンテキストで区切り文字として扱われる文字が決まります。SGML標準は、構文解析を、認識モードを切り替えるステートマシンとして特徴付けています。解析中に、スキャナーを構成するマップのスタックがありトークナイザーは認識モードに関連します。

解析には、動的に取得されたエンティティグラフをトラバースし、タグと要素構造を検索/暗示し、それらのタグを文法に対して検証することが含まれます。SGMLの珍しい側面は、文法(DTD)が受動的に(字句構造を認識するために)使用され、DTDがオプションとして宣言した欠落した構造とタグを生成するために能動的に使用されることです。終了タグと開始タグは推測できるため、省略できます。大まかに言うと、一連のタグは、文法にそれらを暗示する単一の可能なパスがある場合にのみ省略できます。具体的なSGML構文解析を正式に特徴付けることを困難にしたのは、この文法の積極的な使用でした。

SGMLは、認識と生成の両方に検証という用語を使用します。XMLは、区切り文字マップを変更したり、解析モードに通知したりするために文法(DTD)を使用せず、タグの省略を許可しません。したがって、要素のXML検証は、SGML検証がアクティブであるという意味ではアクティブではありません。DTDのないSGML (単純なXMLなど)は、文法または言語です。DTDを使用するSGMLはメタ言語です。SGML宣言を使用するSGMLは、宣言メカニズムメタ言語であるメタ言語であるため、おそらくメタメタ言語です。

SGMLには、多くの可能な具体的な構文によって実装された抽象構文があります。ただし、これは抽象構文木具体的な構文木と同じ使用法ではありませんSGMLの使用法では、具体的な構文は特定の区切り文字のセットであり、抽象構文は区切り文字の名前のセットです。XML Infosetは、JohnMcCarthyによって導入された抽象構文のプログラミング言語の概念に対応しています

派生物

XML

W3C XML(Extensible Markup Language)は、主にWorld Wide Webで使用するために、完全なSGMLパーサーと比較してパーサーの実装を容易にするように設計されたSGMLのプロファイル(サブセット)です参照構文に存在する多くのSGMLオプション(タグやネストされたサブドキュメントの省略など)を無効にすることに加えて、XMLはSGML構文の種類にいくつかの追加の制限を追加します。たとえば、SGML短縮タグフォームを有効にしているにもかかわらず、XMLでは閉じられていない開始タグまたは終了タグは許可されていません。また、WebSGMLアネックスによって行われた追加の多くに依存していました。XMLは現在、完全なSGMLよりも広く使用されています。XMLには、 Unicodeに基づく軽量の国際化があります。XMLのアプリケーションには、XHTMLXQueryXSLTXFormsXPointerJSPSVGRSSAtomXML-RPCRDF / XML、およびSOAP

HTML

HTML(Hyper Text Markup Language)は、部分的に独立してSGMLと並行して開発されましたが、その作成者であるTim Berners-Leeは、SGMLのアプリケーションであることを意図していました。[要出典]したがって、HTMLの設計はSGMLタグ付けに触発されましたが、明確な拡張と解析のガイドラインが確立されていないため、実際のHTMLドキュメントのほとんどは有効なSGMLドキュメントではありません。その後、HTMLはよりSGMLアプリケーションになるように再定式化されました(バージョン2.0)。ただし、HTMLマークアップ言語には、SGMLの要件とは異なる多くのレガシーおよび例外処理機能があります。HTML 4は、ISO 8879 –SGMLに完全に準拠するSGMLアプリケーションです。[14]

2006年のWorldWide Web Consortium HTMLワーキンググループの復活に関する憲章には、「グループは、SGMLパーサーが「クラシックHTML」に使用されるとは想定していません」と書かれています。[15] HTML構文はデフォルトの参照具体構文を使用したSGML構文に非常に似ていますがHTML5はHTMLをSGMLアプリケーションとして定義する試みを放棄し、既存の実装とドキュメントにより厳密に一致する独自の解析ルールを明示的に定義します[16] 。ただし、代替のXHTMLシリアル化を定義します。これは、XMLに準拠しているため、SGMLにも準拠しています。[17]

OED

Oxford English Dictionary (OED)の第2版は、 LEXXテキストエディターを使用してSGMLベースのマークアップ言語で完全にマークアップされています。[18]

第3版はXMLとしてマークアップされています。

その他

他のドキュメントマークアップ言語は、SGMLおよびXMLに部分的に関連していますが、標準のSGMLおよびXMLツールを使用して解析または検証したり、その他の方法で処理したりできないため、SGMLまたはXML言語とは見なされません。組版とドキュメンテーションのためのZフォーマットマークアップ言語は一例です。

いくつかの最新のプログラミング言語は、プリミティブトークンタイプとしてタグをサポートするか、Unicodeおよび正規表現のパターンマッチングをサポートするようになりました。例はScalaプログラミング言語です。

アプリケーション

SGMLを使用して定義されたドキュメントマークアップ言語は、標準では「アプリケーション」と呼ばれています。多くのpre-XMLSGMLアプリケーションは、それらを開発した組織の所有物であり、したがってWorld WideWebでは利用できませんでした。次のリストは、XML以前のSGMLアプリケーションです。

  • Text Encoding Initiative(TEI)は、デジタル形式のテキスト表現アプリケーションの技術標準を設計、保守、および開発する学術コンソーシアムです。
  • DocBookは、元々SGMLアプリケーションとして作成されたマークアップ言語であり、技術文書を作成するために設計されています。DocBookは現在XMLアプリケーションです。
  • CALS(Continuous Acquisition and Life-cycle Support)は、軍事文書を電子的にキャプチャし、関連するデータと情報をリンクするための米国国防総省(DoD)のイニシアチブです。
  • HyTimeは、SGMLドキュメントの作成者がハイパーテキストおよびマルチメディアプレゼンテーションを作成できるようにする、ハイパーテキスト指向の要素タイプのセットを定義します。
  • EDGAR(Electronic Data-Gathering、Analysis、and Retrieval)システムは、米国証券取引委員会にデータと情報フォームを提出することが法的に義務付けられている企業やその他の企業による、提出物の自動収集、検証、索引付け、受け入れ、転送に影響を与えます。 (SEC)。
  • LinuxDocLinuxパッケージのドキュメントでは、LinuxDoc SGMLDTDおよびDocbookXMLDTDが使用されています。
  • AAP DTDは、米国出版協会によって定義された科学文書の文書型定義です
  • AAPDTPの後継であるISO12083は、作成者と発行者の間のドキュメント交換のための国際的なSGML標準です。
  • SGMLguidは、 CERNで作成、開発、使用された初期のSGMLドキュメントタイプ定義でした

オープンソースの実装

SGMLの 重要なオープンソース実装には次のものが含まれます。

関連するDSSSLプロセッサであるSPとJadeは、OpenJadeプロジェクトによって維持されており、Linuxディストリビューションの一般的な部分です。SGMLソフトウェアと資料の一般的なアーカイブはSUNETにあります。Sun SystemのJavaの実装における元のHTMLパーサークラスは、SGMLの用語と概念を使用した、機能が制限されたSGMLパーサーです。

も参照してください

参考文献

  1. ^ a bISO 「JTC1 / SC 34 –ドキュメントの説明と処理言語」ISO 2009年12月25日取得
  2. ^ ISO JTC1 / SC34。「JTC1 / SC 34 –ドキュメントの説明と処理言語」2009年12月25日取得
  3. ^ ISO / IEC 10744  – Hytime
  4. ^ 「ISO / IECTR9573」(PDF)ISO1991 2017年12月5日取得
  5. ^ ゴールドファーブ、チャールズF.(1996)。「SGMLのルーツ–個人的な回想」2007年7月7日取得
  6. ^ ゴールドファーブ、チャールズF.(1990)。SGMLハンドブックISBN 9780198537373
  7. ^ 「ISO8879ドラフトの用語と定義」
  8. ^ Wohler、Wayne(1998年7月21日)。「SGML宣言」2009年8月17日取得
  9. ^ エグモンド(1989年12月)。「アムステルダムSGMLパーサーの実装」(PDF)
  10. ^ キャロル、ジェレミーJ.(2001年11月26日)。「RDFとXMLのCoParsing」(PDF)ヒューレットパッカード2009年10月9日取得
  11. ^ 「SGML:文法プロダクション」
  12. ^ 「Re:他の空白の問題はRe:空白の規則(v2)でした」
  13. ^ Bruggemann-Klein。「コンパイラ-SGMLパーサーの構築ツールとテクニック:難しさと解決策」
  14. ^ 「HTML4–4適合性:要件と推奨事項」2009年12月30日取得
  15. ^ リリー、クリス; Berners-Lee、Tim(2009年2月6日)。「HTMLワーキンググループ憲章」2007年4月19日取得
  16. ^ 「HTML5—HTMLドキュメントの解析」World WideWebコンソーシアム2014年10月28日2015年6月29日取得
  17. ^ Dubost、Karl(2008年1月15日)。「HTML5、1つの語彙、2つのシリアル化」質疑応答ブログW3C 2009年2月25日取得
  18. ^ カウリショー、MF(1987)。「LEXX—プログラム可能な構造化エディタ」。IBM Journal of Research andDevelopmentIBM31(1):73。doi10.1147 /rd.311.0073

外部リンク