XMLゼミ 2.3 XMLのプロローグ 2.4 XMLのタグ 高橋 辰裕
注 仕様上、XML宣言は処理命令に含まれない <?xml version=“1.0” encoding=“UTF-16” ?> パラメーター : 一般的に、version、encoding、standaloneという3種類の パラメータを記述することができる 注 仕様上、XML宣言は処理命令に含まれない
処理命令 処理命令 <?処理命令のターゲット 処理のパラメータ ?> 処理命令を使ったXMLの例 <?xml version=“1.0” encoding=“UTF”-16 ?> <!-- process.xml --> <!-- 処理命令の例 --> <!-- 以下は通常は実装されていない命令なので無視される -- > <?printsys header=“filename filedatetime” ?> <?dogprocessor msg=“hello dogs” ?> <hello> <段落>こんにちは</段落> </hello>
CDATAセクション CDATAセクション <![CDATA[文字列] ]> CDATAセクションの使用例 <?xml version=“1.0” encoding=“UTF”-16 ?> <!– cdata.xml --> <ページ> <![CDATA[ この文字列は<ページ>タグの文字列要素として認識される ] ]> <段落>こんにちは</段落> </ページ>
注 インデント時の空白の量は通常、2、3、4、8個 タグ タグの形式 <タグ名 属性リスト >要素の内容</タグ名> タグの入れ子 <タグ名1 属性リスト>テキスト要素 <タグ名2>ほかの要素内容 <タグ2の子タグ> <タグ2の子の子1>子タグテキスト</タグ2の子の子1> <タグ2の子の子2>子タグテキスト</タグ2の子の子2> </タグ2の子タグ> </タグ名2> </タグ名1> インデント 注 インデント時の空白の量は通常、2、3、4、8個
要素 種類 意味 他の要素(element) ほかのタグ付き要素 キャラクタデータ(CharData) 文字列データ(テキスト) 参照(Reference) &と;で囲まれたすでに定義されている文字や文字列などの参照 CDATAセクション(CDSect) <![CDATA[“で始まり、”]]>で終わる文字列 処理命令(PI) <?で始まる処理命令 コメント(Comment) コメント ルート要素以外の要素は、すべてルート要素の内容でなければならない。ルート要素はかならず1個なければならず、2個以上あってはならない ある要素の子要素は、その要素の中になければならない。ある要素がほかの複数の要素にまたがる子要素になることはできない
属性 属性の記述形式 <タグ名 属性名1=“属性値1” 属性名2=“属性値2” ・・・ > テキスト</タグ名> <タグ名 属性名1=“属性値1” 属性名2=“属性値2” ・・・ > テキスト</タグ名> <メンバー CODE=“2525” SEX=“F”>二戸 丹子</メンバー> XML1.0では、XML:spaceとXML:langという2種類の特別な属性があらかじめ定義されている XML:space : 空白と改行の扱い方を指定するための属性 default → 空白と改行の扱い方はプログラムに任せる(通常は無視) preserve → 空白と改行を無視したり削除せずにそのまま保存 XML:lang : XML文書の中で使われている言語を指定するための属性
参照 すでに定義されている文字や文字列などを、&と;で囲まれた文字列を使って参照する 参照を使ったXML文書の例 <?xml version=“1.0” encoding=“UTF”-16 ?> <!-- refs.xml --> <!DOCTYPE ページ[ <!ENTITY TITLE “独習XML”> ]> <ページ> <表題>&TITLE;</表題> <段落>表題を&TITLE;で参照することができます。</段落> <段落>&は&で参照することができます。</段落> </ページ>
課題 タグの入れ子と先に述べた要素の種類6つをそれぞれ用いたXML文書の例を作成せよ