基本

構文 (syntax)

XML宣言 (XML Declaration)

<?xml version="1.0" encoding="utf-8" ?>

DTD (Document Type Definition) : 文書型定義

DTDとはDocument Type Definitionの略で、その文書を構成する要素を定義するスキーマ定義言語です。そしてその要素の定義は、DOCTYPEとも呼ばれるDTD宣言で行います。

DTD宣言 (DOCTYPE)

DOCTYPE宣言は英語ではDocument Type Declaration (文書型宣言) と呼ばれ、文書型を宣言するものです。この用語も略すとDTDとなりそうですが、文書型定義の意味でのDTDとは異なります。

内部DTD (Internal DTD Declaration)
<!DOCTYPE root-element [element-declarations]>
外部DTD (External DTD Declaration)
<!DOCTYPE root-element SYSTEM "filename">

XHTMLのDOCTYPE宣言

DTDの構成要素

  • <!ELEMENT> (Elements)
  • <!ATTLIST> (Attributes)
  • <!ENTITY> (Entities)
  • PCDATA
  • CDATA
<!ELEMENT>

要素 (Elements)を宣言します。

<!ELEMENT element-name category>
<!ELEMENT element-name (element-content)>
DTD Elements | W3Schools
<!ATTLIST>

属性 (Attributes) を宣言します。

<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD Attributes | W3Schools
<!ENTITY>

実体 (Entities) を宣言します。

<!ENTITY entity-name "entity-value">
<!ENTITY entity-name SYSTEM "URI/URL">
DTD Entities | W3Schools

要素 (element)

<foo>bar</foo>

空要素

<foo></foo>
<foo/>

属性 (attribute)

<foo id="abc" />

XML名前空間 (XML Namespace)

xmlns属性はXML名前空間を表し、同名の要素や属性の衝突を回避するために指定します。

<test
  xmlna:foo="http://example.com/foo"
  xmlna:bar="http://example.com/bar">
  <foo:name>AAA</foo:name>
  <bar:name>BBB</bar:name>
</test>

実体参照 (Entity References)

下表の文字はXMLで特別な意味を持つため、実体参照で記述します。

文字 実体参照
< &lt;
> &gt;
& &amp;
' &aos;
" &quot;
Entity References - XML Syntax XML用語事典 [定義済み実体]

コメント (comment)

HTMLのコメントと同様に「<!--」と「-->」で囲まれた部分がコメントとみなされます。

CDATAセクション

CDATAセクションとするには「<![CDATA[」と「]]>」で囲みます。これはスクリプトを記述する場合のように、コメントとなる部分に

  • <
  • >
  • &
  • --

が含まれる場合に有用です。

たとえばJavaScriptをXML文書中に記述するには、次のようにします。

<script type="text/javascript"><![CDATA[

]]></script>

空白 (white space)

要素外に記述された文字も含め、すべての空白は文字として認識されます。

文書の構造定義

XML Schema (XMLスキーマ)

XML Schemaとは、XMLの構造を定義するものです。ファイルの拡張子には、慣例的に「.xsd」が使用されています。