0x0b
html&xml
最終更新:
Bot(ページ名リンク)
-
view
仕様
SGML(Standard Generalized Markup Language)
ISO 8879:1986
JIS X 4151:1992
ISO 8879:1986
JIS X 4151:1992
DSSSL(Document Style Semantics and Specification Language)
DTD(Document Type Definition)
DSDL(Document Schema Definition Languages)
DSDL(Document Schema Definition Languages)
TEX
HTML
HTML 4.01 Specification
HTML 5
HTML 4.01 Specification
HTML 5
XML
XML1.0
XML1.1
SAX(Simple API for XML)
XML-RPC
XML Schema
XSL(Extensible Stylesheet Language)
XSLT(XSL Transformations)
XPath(XML Path Language)
XSL-FO(XSL Formatting Objects)
XPL(XML Paper Specification)
XUL(XML User Interface Language)
XML Information Set, XML Infoset
XML Schema
TREX(Tree Regular Expressions for XML)
RELAX(Regular Language description for XML)
RELAX NG
Namespaces in XML
XML Signature
XAdES(XML Advanced Electronic Signatures)
XML Encryption
SOAP
Canonical XML
XML Inclusions
XQuery
XPointer(XML Pointer Language)
StAX(Streaming API for XML - Java
SimpleXML - PHP
System.Xml.XmlReader - .NET Framework
JAXB(Java Architecture for XML Binding)
XLink
XML1.0
XML1.1
SAX(Simple API for XML)
XML-RPC
XML Schema
XSL(Extensible Stylesheet Language)
XSLT(XSL Transformations)
XPath(XML Path Language)
XSL-FO(XSL Formatting Objects)
XPL(XML Paper Specification)
XUL(XML User Interface Language)
XML Information Set, XML Infoset
XML Schema
TREX(Tree Regular Expressions for XML)
RELAX(Regular Language description for XML)
RELAX NG
Namespaces in XML
XML Signature
XAdES(XML Advanced Electronic Signatures)
XML Encryption
SOAP
Canonical XML
XML Inclusions
XQuery
XPointer(XML Pointer Language)
StAX(Streaming API for XML - Java
SimpleXML - PHP
System.Xml.XmlReader - .NET Framework
JAXB(Java Architecture for XML Binding)
XLink
XML Media Types
RFC 3023
RFC 3023
Atom
RFC4287
RFC5023
RFC4287
RFC5023
(Representational State Transfer)
DocBook、RSS、MathML(Mathematical Markup Language)、ebXML、Scalable Vector Graphics (SVG)、
MusicXML
VML(VoiceXML)
DocBook、RSS、MathML(Mathematical Markup Language)、ebXML、Scalable Vector Graphics (SVG)、
MusicXML
VML(VoiceXML)
XML Base
ISO/IEC 8825-4:2002 Information technology -- ASN.1 encoding rules: XML Encoding Rules (XER)
ISO/IEC 8825-5:2004 Information technology -- ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1
ISO/IEC 9075-14:2006 Information technology -- Database languages -- SQL -- Part 14: XML-Related Specifications (SQL/XML)
ISO 10303-28:2007 Industrial automation systems and integration -- Product data representation and exchange -- Part 28: Implementation methods: XML representations of EXPRESS schemas and data, using XML schemas
ISO/IEC 13250-3:2007 Information technology -- Topic Maps -- Part 3: XML syntax
ISO/IEC 13522-5:1997 Information technology -- Coding of multimedia and hypermedia information -- Part 5: Support for base-level interactive applications
ISO/IEC 13522-8:2001 Information technology -- Coding of multimedia and hypermedia information -- Part 8: XML notation for ISO/IEC 13522-5
ISO/IEC 18056:2007 Information technology -- Telecommunications and information exchange between systems -- XML Protocol for Computer Supported Telecommunications Applications (CSTA) Phase III
ISO/IEC 19503:2005 Information technology -- XML Metadata Interchange (XMI)
ISO/IEC 19776-1:2005 Information technology -- Computer graphics, image processing and environmental data representation -- Extensible 3D (X3D) encodings -- Part 1: Extensible Markup Language (XML) encoding
ISO/IEC 22537:2006 Information technology -- ECMAScript for XML (E4X) specification
ISO 22643:2003 Space data and information transfer systems -- Data entity dictionary specification language (DEDSL) -- XML/DTD Syntax
ISO/IEC 23001-1:2006 Information technology -- MPEG systems technologies -- Part 1: Binary MPEG format for XML
ISO 24531:2007 Intelligent transport systems -- System architecture, taxonomy and terminology -- Using XML in ITS standards, data registries and data dictionaries
ISO/IEC 8825-5:2004 Information technology -- ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1
ISO/IEC 9075-14:2006 Information technology -- Database languages -- SQL -- Part 14: XML-Related Specifications (SQL/XML)
ISO 10303-28:2007 Industrial automation systems and integration -- Product data representation and exchange -- Part 28: Implementation methods: XML representations of EXPRESS schemas and data, using XML schemas
ISO/IEC 13250-3:2007 Information technology -- Topic Maps -- Part 3: XML syntax
ISO/IEC 13522-5:1997 Information technology -- Coding of multimedia and hypermedia information -- Part 5: Support for base-level interactive applications
ISO/IEC 13522-8:2001 Information technology -- Coding of multimedia and hypermedia information -- Part 8: XML notation for ISO/IEC 13522-5
ISO/IEC 18056:2007 Information technology -- Telecommunications and information exchange between systems -- XML Protocol for Computer Supported Telecommunications Applications (CSTA) Phase III
ISO/IEC 19503:2005 Information technology -- XML Metadata Interchange (XMI)
ISO/IEC 19776-1:2005 Information technology -- Computer graphics, image processing and environmental data representation -- Extensible 3D (X3D) encodings -- Part 1: Extensible Markup Language (XML) encoding
ISO/IEC 22537:2006 Information technology -- ECMAScript for XML (E4X) specification
ISO 22643:2003 Space data and information transfer systems -- Data entity dictionary specification language (DEDSL) -- XML/DTD Syntax
ISO/IEC 23001-1:2006 Information technology -- MPEG systems technologies -- Part 1: Binary MPEG format for XML
ISO 24531:2007 Intelligent transport systems -- System architecture, taxonomy and terminology -- Using XML in ITS standards, data registries and data dictionaries
XHTML
XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)
XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)
MHTML
RFC2110 (旧)
RFC2557 (新)
RFC2110 (旧)
RFC2557 (新)
MIMEタイプ
Multipurpose Internet Mail Extensions (MIME) Part 1~3
RFC 2045, RFC 2046, RFC 2047
Multipurpose Internet Mail Extensions (MIME) Part 1~3
RFC 2045, RFC 2046, RFC 2047
Multipurpose Internet Mail Extensions(MIME) Part Five:
Conformance Criteria and Examples
RFC 2049
Conformance Criteria and Examples
RFC 2049
MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations
RFC2231
RFC2231
Media Type Specifications and Registration Procedures
RFC 4288
RFC 4288
Multipurpose Internet Mail Extensions (MIME) Part Four:
Registration Procedures
RFC 4289(旧RFC 2048)
Registration Procedures
RFC 4289(旧RFC 2048)
Returning Values from Forms: multipart/form-data
RFC2388
RFC2388
Internet Message Format
RFC 5322 (旧RFC 822、RFC 2822)
RFC 5322 (旧RFC 822、RFC 2822)
SMTP
RFC5321, RFC2821, RFC821
RFC5321, RFC2821, RFC821
Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field
RFC2183
RFC2183
Uniform Resource Identifiers (URI): Generic Syntax
RFC3986
(旧)
RFC1738 Uniform Resource Locators (URL)
RFC1808 Relative Uniform Resource Locators
RFC2396 Uniform Resource Identifiers (URI): Generic Syntax
RFC3986
(旧)
RFC1738 Uniform Resource Locators (URL)
RFC1808 Relative Uniform Resource Locators
RFC2396 Uniform Resource Identifiers (URI): Generic Syntax
IRI(Internationalized Resource Identifier)
RFC 3987
RFC 3987
XRI(Extensible Resource Identifier)
The 'text/html' Media Type
RFC2854
RFC2854
マークアップ言語
コンピュータ言語の一種
GML(Generalized Markup Language)から派生
文章の構造(段落など)、見栄え(フォントサイズなど)に関する指定を文章とともにテキストファイルに記述するための言語
文章に対するそれらの指定をマークアップ (markup) と呼び、マークアップを記述するための文字列をタグ (tag) と呼ぶ
テキスト+マークアップ命令
①視覚・②手続き・③意味マークアップに分類
GML(Generalized Markup Language)から派生
文章の構造(段落など)、見栄え(フォントサイズなど)に関する指定を文章とともにテキストファイルに記述するための言語
文章に対するそれらの指定をマークアップ (markup) と呼び、マークアップを記述するための文字列をタグ (tag) と呼ぶ
テキスト+マークアップ命令
①視覚・②手続き・③意味マークアップに分類
①視覚マークアップ(暗黙)
テキスト中の「手掛かり」から文書構造を推論
改行、スペース、行送り、中央ぞろえ等
改行、スペース、行送り、中央ぞろえ等
②手続きマークアップ(明示)
ファイル中の出現順で処理系に解釈
テキストを並べ書式指定の命令(ディレクティブ)を指示
後にはそれらの効果を打ち消す命令
マクロやスタックモデルなどのより高度なシステムならば、この煩わしさは軽減される
チューリング完全なプログラミング言語に相当
例:nroff, troff, TeX, Lout
テキストを並べ書式指定の命令(ディレクティブ)を指示
後にはそれらの効果を打ち消す命令
マクロやスタックモデルなどのより高度なシステムならば、この煩わしさは軽減される
チューリング完全なプログラミング言語に相当
例:nroff, troff, TeX, Lout
③意味マークアップ
必ずしも特定の見栄えなどの処理上の意味を与えることなく、テキストの断片に印を付けていくもの
例えば、Atomシンディケーション言語には updated タイムスタンプを印すマークアップがあり、情報項目が最後にいつ更新されたのかを発行者が表明するのに使われる。
Atomの規格ではupdatedの意味するものについて論じており、そのマークアップ形式についても規定されているが、それがユーザに対してどのように表示されるのか、またそもそも表示されるべきなのかについては何の規定もない。このマークアップは処理系ごとに様々な用途に使われ、その中にはAtom言語の設計者たちが予想もしなかったものが多く含まれるだろう。SGMLとXMLは意味マークアップ言語の設計を支援するために設計された仕様(メタ言語)である。
以上は概念的な分類であって、実際にはどのシステムでも別種のマークアップが共存している。例えばHTMLでは、純粋な手続きマークアップ(ボールドのためのBなど)と純粋な意味マークアップ(BLOCKQUOTEやHREF属性など)が共存している。HTMLにはさらにPRE要素があり、視覚マークアップの領域を囲んで、テキストをタイプしたとおりに表示させることもできる。
マークアップ要素とその使用に関する規則は通例、特定の企業やコミュニティごとの様々な種類の文書に対応するため、標準化団体によって開発される。最初期の例としてはCALSがあり、アメリカ軍で技術マニュアルに利用されていた。すぐに大規模文書を管理する必要のある企業がこれに続きだし、航空機、電気通信、自動車、コンピュータハードウェアのマニュアル用のタグ群が開発された。これはこの種のマニュアルの多くが電子的に配布されるきっかけとなり、企業は1つの(意味マークアップによる)オリジナルから印刷物、オンライン、CD版などを作り出すことができた。特筆すべき例はサン・マイクロシステムズであり、ジョン・ボサック(en)がSGMLを複数媒体向けの文書配布に採用し、大幅なコスト削減を達成した。
よく知られたマークアップ言語
DocBook、MathML、SVG、Open eBook、TEI、XBRLなど
多くはテキストのためのものだが、その他の用途で使われる専門化された言語もある。
汎用マークアップとは意味マークアップの別名
現在のほとんどの意味マークアップシステムは文書を木構造に構造化する。また同時に、文書の一部分を文書内の他の箇所から参照する(クロス・リファレンス)手段を提供している。構造化によって、ソフトウェアが文書構造を(BLOBではないものとして)把握することができ、文書はデータベースとして扱うことが可能になる。リレーショナル・データベースが持っているような厳格なスキーマを持たないので、「半構造化データベース(semi-structured database)」と呼ばれる。
000年を過ぎたころから、木構造以外の文書構造に関する大きな関心が現れてきた。例えば、古代の宗教文学では文献構造(本、章、節、文)以外にも、修辞構造や散文構造が広く用いられる(ストーリー、引用章句、段落、など)。これらの文書単位は文中でたびたび交差するので、簡単には木構造のマークアップシステムでデータ化することはできない。このような構造をサポートする文書モデリングシステムにはMECS(ウィトゲンシュタインの作品を電子化するために開発された)、TEI Guidelinesの一部、LMNL、CLIX、などがある。
意味マークアップの第一の長所はその自由度だとみなされている。テキストの断片が「どのように表示されるべきか」ではなく「何であるか」と印されていたなら、その言語の設計者が予想もしていなかった便利な用途でその断片を処理する処理系が作られるかもしれない。例を挙げると、HTMLのハイパーリンクは、元々、リンクをたどる人の手で利用されるために設計されたが、WWW検索エンジンによって、インデックスするべき新しいリソースを発見するため、またウェブ上のリソースの人気を測るためにも利用されている。
意味マークアップはまた、必要になったときに文書の見栄えを変更する作業も単純化する。これは文書の見栄えと内容が密接に結びついていないからである。例えばイタリックを強調と外国語であることを示すために使うとする。ここで両方が単にイタリックと(視覚的にまたは手続き的に)マークアップされたなら、2つを選り分けることが困難になる。もし、あとから外国語をイタリックにしないと決め直したら、全てのイタリック部分を見直して、1つずつ選り分けるしか方法がない。しかし始めから、2つの場合が別のタグで(意味的に)マークアップされていたのなら、互いに干渉しあうことなく、見栄えの変更ができるようになる。
例えば、Atomシンディケーション言語には updated タイムスタンプを印すマークアップがあり、情報項目が最後にいつ更新されたのかを発行者が表明するのに使われる。
Atomの規格ではupdatedの意味するものについて論じており、そのマークアップ形式についても規定されているが、それがユーザに対してどのように表示されるのか、またそもそも表示されるべきなのかについては何の規定もない。このマークアップは処理系ごとに様々な用途に使われ、その中にはAtom言語の設計者たちが予想もしなかったものが多く含まれるだろう。SGMLとXMLは意味マークアップ言語の設計を支援するために設計された仕様(メタ言語)である。
以上は概念的な分類であって、実際にはどのシステムでも別種のマークアップが共存している。例えばHTMLでは、純粋な手続きマークアップ(ボールドのためのBなど)と純粋な意味マークアップ(BLOCKQUOTEやHREF属性など)が共存している。HTMLにはさらにPRE要素があり、視覚マークアップの領域を囲んで、テキストをタイプしたとおりに表示させることもできる。
マークアップ要素とその使用に関する規則は通例、特定の企業やコミュニティごとの様々な種類の文書に対応するため、標準化団体によって開発される。最初期の例としてはCALSがあり、アメリカ軍で技術マニュアルに利用されていた。すぐに大規模文書を管理する必要のある企業がこれに続きだし、航空機、電気通信、自動車、コンピュータハードウェアのマニュアル用のタグ群が開発された。これはこの種のマニュアルの多くが電子的に配布されるきっかけとなり、企業は1つの(意味マークアップによる)オリジナルから印刷物、オンライン、CD版などを作り出すことができた。特筆すべき例はサン・マイクロシステムズであり、ジョン・ボサック(en)がSGMLを複数媒体向けの文書配布に採用し、大幅なコスト削減を達成した。
よく知られたマークアップ言語
DocBook、MathML、SVG、Open eBook、TEI、XBRLなど
多くはテキストのためのものだが、その他の用途で使われる専門化された言語もある。
汎用マークアップとは意味マークアップの別名
現在のほとんどの意味マークアップシステムは文書を木構造に構造化する。また同時に、文書の一部分を文書内の他の箇所から参照する(クロス・リファレンス)手段を提供している。構造化によって、ソフトウェアが文書構造を(BLOBではないものとして)把握することができ、文書はデータベースとして扱うことが可能になる。リレーショナル・データベースが持っているような厳格なスキーマを持たないので、「半構造化データベース(semi-structured database)」と呼ばれる。
000年を過ぎたころから、木構造以外の文書構造に関する大きな関心が現れてきた。例えば、古代の宗教文学では文献構造(本、章、節、文)以外にも、修辞構造や散文構造が広く用いられる(ストーリー、引用章句、段落、など)。これらの文書単位は文中でたびたび交差するので、簡単には木構造のマークアップシステムでデータ化することはできない。このような構造をサポートする文書モデリングシステムにはMECS(ウィトゲンシュタインの作品を電子化するために開発された)、TEI Guidelinesの一部、LMNL、CLIX、などがある。
意味マークアップの第一の長所はその自由度だとみなされている。テキストの断片が「どのように表示されるべきか」ではなく「何であるか」と印されていたなら、その言語の設計者が予想もしていなかった便利な用途でその断片を処理する処理系が作られるかもしれない。例を挙げると、HTMLのハイパーリンクは、元々、リンクをたどる人の手で利用されるために設計されたが、WWW検索エンジンによって、インデックスするべき新しいリソースを発見するため、またウェブ上のリソースの人気を測るためにも利用されている。
意味マークアップはまた、必要になったときに文書の見栄えを変更する作業も単純化する。これは文書の見栄えと内容が密接に結びついていないからである。例えばイタリックを強調と外国語であることを示すために使うとする。ここで両方が単にイタリックと(視覚的にまたは手続き的に)マークアップされたなら、2つを選り分けることが困難になる。もし、あとから外国語をイタリックにしないと決め直したら、全てのイタリック部分を見直して、1つずつ選り分けるしか方法がない。しかし始めから、2つの場合が別のタグで(意味的に)マークアップされていたのなら、互いに干渉しあうことなく、見栄えの変更ができるようになる。
他の用途での利用
マークアップ言語のアイデアはテキスト文書に関するものとして生まれたが、ベクターグラフィックス、Webサービス、ウェブシンディケーション、セマンティック・ウェブ、ユーザーインタフェースなどの分野での利用も増えている。これらのほとんどはXMLのアプリケーションである。XMLを使用することで、複数のマークアップ言語を合成することが可能となる。例としては、XHTML+SMIL やXHTML+MathML+SVGがある。
Tex
数学書を業務品質で組むためのテキストやフォントに関する綿密なレイアウト機能を目標としている
ユーザーに高いスキルを要求するため、主に学術分野で使われ、理数系の出版物・論文などではデファクトスタンダードとなっている。TeXのマクロパッケージであるLaTeXはTeX上で意味マークアップシステムを構築しており、広く用いられている。
ユーザーに高いスキルを要求するため、主に学術分野で使われ、理数系の出版物・論文などではデファクトスタンダードとなっている。TeXのマクロパッケージであるLaTeXはTeX上で意味マークアップシステムを構築しており、広く用いられている。
SGML(Standard Generalized Markup Language)
マークアップは文書の構造面に専念し、視覚的な表現に関しては処理系に任せるべきだ、という思想
文書にマークアップを含める構文や、どんなタグがどこで使えるのかなどを記述する構文(DTD)を規定
これによって、文書作成者は望むマークアップを、最も意図に近いものや母語で名前が付いているものなど、何でも作成し、利用することができた。それゆえ、SGMLは正しくはメタ言語であり、多くの具体的なマークアップ言語がそれから派生していった。80年代から現在に至るまで、ほとんどの新しいマークアップ言語はSGMLに基づいたものであった。TEIやDocBookなどがその例である。SGMLは1986年にISO 8879として国際標準になった。
非常に大きな規模の文書を扱う現場で広く受け入れられ、利用された。しかしながら、一般的には覚えるのが煩わしくて難しいとみなされている。これは多彩すぎる機能と高すぎる柔軟性を実現した副作用である。複雑な仕様の例として、SGMLでは終了タグ(または開始タグかその両方)が文脈によって省略可能となっているが、これは過労気味のサポートスタッフがマークアップを手動で行うような場合にキーストロークの節約が望まれている、との配慮によるものである。
World Wide Web(W3C)勧告
文書にマークアップを含める構文や、どんなタグがどこで使えるのかなどを記述する構文(DTD)を規定
これによって、文書作成者は望むマークアップを、最も意図に近いものや母語で名前が付いているものなど、何でも作成し、利用することができた。それゆえ、SGMLは正しくはメタ言語であり、多くの具体的なマークアップ言語がそれから派生していった。80年代から現在に至るまで、ほとんどの新しいマークアップ言語はSGMLに基づいたものであった。TEIやDocBookなどがその例である。SGMLは1986年にISO 8879として国際標準になった。
非常に大きな規模の文書を扱う現場で広く受け入れられ、利用された。しかしながら、一般的には覚えるのが煩わしくて難しいとみなされている。これは多彩すぎる機能と高すぎる柔軟性を実現した副作用である。複雑な仕様の例として、SGMLでは終了タグ(または開始タグかその両方)が文脈によって省略可能となっているが、これは過労気味のサポートスタッフがマークアップを手動で行うような場合にキーストロークの節約が望まれている、との配慮によるものである。
World Wide Web(W3C)勧告
HTML(HyperText Markup Language)
1991年になると、SGMLが商用のデータベース用途にしか使われない傾向が強くなってきた。一方、(文書をプロプライエタリなバイナリフォーマットで保存する)WYSIWYGツールがその他の文書処理用途では受け入れられていた。
そんな折、SGMLの構文を使ってHTMLは作られた。
HTMLは他のSGMLベースのタグ言語とよく似ているが、よりシンプルなものとして誕生し、当初は形式的なDTDを持っていなかった。
DeRose はHTMLによる意味マークアップ(SGML)の使用が、ウェブに柔軟性と拡張性をもたらし、その成功の有力な要因となったと主張している(その他の要因にはURLの概念やブラウザの無料配布などがある)。現在、HTMLはおそらく世界で最もよく使われているマークアップ言語であろう。
しかしながら、HTMLがマークアップ言語であるという事実については異論を唱える研究者もいる。その異論とは、HTMLはタグの配置を制限しており、タグに他のタグ内に入れ子になることと文書のルートタグになることの両方を要求している、というものである。このため、そのような研究者たちはHTMLは階層型データモデルに従う「コンテナ言語」ではないかと述べている。
HTML4.01
SGMLに Strict、Transitional、FramesetがDTDで定義されている
HTML5.0
そんな折、SGMLの構文を使ってHTMLは作られた。
HTMLは他のSGMLベースのタグ言語とよく似ているが、よりシンプルなものとして誕生し、当初は形式的なDTDを持っていなかった。
DeRose はHTMLによる意味マークアップ(SGML)の使用が、ウェブに柔軟性と拡張性をもたらし、その成功の有力な要因となったと主張している(その他の要因にはURLの概念やブラウザの無料配布などがある)。現在、HTMLはおそらく世界で最もよく使われているマークアップ言語であろう。
しかしながら、HTMLがマークアップ言語であるという事実については異論を唱える研究者もいる。その異論とは、HTMLはタグの配置を制限しており、タグに他のタグ内に入れ子になることと文書のルートタグになることの両方を要求している、というものである。このため、そのような研究者たちはHTMLは階層型データモデルに従う「コンテナ言語」ではないかと述べている。
HTML4.01
SGMLに Strict、Transitional、FramesetがDTDで定義されている
HTML5.0
XML(Extensible Markup Language)
対象をインターネット上の文書に特化することで、SGMLを単純化したサブセットを作ることが目的
XMLはSGMLと同じようにメタ言語である。また、("extensible"という名のとおり)利用者が必要な要素を追加したり、名前空間を使って複合文書を作ったりして拡張することが容易にできる。
名前空間などを用いないXML文書はSGML文書でもあるため、XMLへの乗り換えはそれほど困難でなく、既存のSGMLの利用者およびソフトウェアは比較的容易にXMLに移行することができた。XMLはSGMLの多くのより複雑な機能を省いており、学習や実装を容易にしている。他の改良点には、多言語環境でのSGMLの問題点を修正したことや、スキーマがない文書でも利用を可能にしたことなどがある。
XMLはそもそも文書や出版物などの半構造データのために設計されたものである。しかしながら、その単純さと柔軟性のバランスの良さから、他の用途でも急速に受け入れられていった。例えば、アプリケーション間でデータをやりとりするために利用されたり、アプリケーションの設定ファイルの構造として利用されたりもしている。
XMLはSGMLと同じようにメタ言語である。また、("extensible"という名のとおり)利用者が必要な要素を追加したり、名前空間を使って複合文書を作ったりして拡張することが容易にできる。
名前空間などを用いないXML文書はSGML文書でもあるため、XMLへの乗り換えはそれほど困難でなく、既存のSGMLの利用者およびソフトウェアは比較的容易にXMLに移行することができた。XMLはSGMLの多くのより複雑な機能を省いており、学習や実装を容易にしている。他の改良点には、多言語環境でのSGMLの問題点を修正したことや、スキーマがない文書でも利用を可能にしたことなどがある。
XMLはそもそも文書や出版物などの半構造データのために設計されたものである。しかしながら、その単純さと柔軟性のバランスの良さから、他の用途でも急速に受け入れられていった。例えば、アプリケーション間でデータをやりとりするために利用されたり、アプリケーションの設定ファイルの構造として利用されたりもしている。
XHTML(Extensible HyperText Markup Language)
2000年の1月から、HTMLについてのすべてのW3C勧告は、SGMLではなくXMLに基づいたものになった。Extensible Hypertext Markup Language を略してXHTMLという。(XはExの発音から。)
HTMLとXHTMLとの違いで顕著なものの1つ
「すべてのタグは閉じなければならない」
<br>のような「空の」HTMLタグは「閉じる」必要がある。XHTML 1.0勧告内のAppendixにあるHTML Compatibility Guidelines[5]では、<br />のように要素名の後に空白文字と斜線を入れて閉じる形を推奨している。
他に開始タグ内の属性値はすべて引用符<>で囲わなければならないという点がある。
また、HTMLとは異なり、大文字と小文字は厳密に区別される。
HTMLとXHTMLとの違いで顕著なものの1つ
「すべてのタグは閉じなければならない」
<br>のような「空の」HTMLタグは「閉じる」必要がある。XHTML 1.0勧告内のAppendixにあるHTML Compatibility Guidelines[5]では、<br />のように要素名の後に空白文字と斜線を入れて閉じる形を推奨している。
他に開始タグ内の属性値はすべて引用符<>で囲わなければならないという点がある。
また、HTMLとは異なり、大文字と小文字は厳密に区別される。