他の言語と同様に、XML は文法によって記述されます。XML の文法はかなり単純です (開始タグ、終了タグ、正しいネスト)。そのため、構文ツリーも単純に見えるかもしれません (単なる要素の階層)。XML スキーマは、XML ファイルのコンテンツを記述するもう 1 つの文法です。
したがって、基本的には、2 つのパーサーが次々に呼び出されます。最初のものは、すべての開始タグに終了タグがあり、ネストが正しいことを確認します。
2 番目のパーサーは、XML ファイルのコンテンツがスキーマ (文法) に従って構造化されていることを検証します。たとえば、"B" という名前の要素は "A" という名前の要素内にのみ含めることができます。
プログラミング言語の構文は変更できないため、これを C などのプログラミング言語の解析と比較するべきではありません。If ステートメントは関数本体内にのみ表示でき、外部には表示できず、それを変更することはできません。ただし、XML では、"B" 要素が "A" 要素内にのみ表示されること、または "A" 要素が "B" 要素内にのみ表示されることを指定できます。すべて、XML ファイルのコンテンツの文法を指定することによって行います。スキーマの形式で。