XML構文の詳細な説明

XML構文の詳細な説明
1. 文書化ルール

1. 大文字と小文字が区別されます。

2. 属性値は引用符(一重引用符または二重引用符)で囲む必要があります。通常は二重引用符が推奨されます。

3. すべてのタグには終了記号が必要です。

4. 空のタグはすべて閉じる必要があります。

5. 要素は 1 つだけ存在する必要があります。

6. 空白文字を解析する場合、省略せずに実際の内容が出力されます。

7. 特殊文字の処理:
文字の置換文字
< &lt;
> >
& &amp;
「」
' &apos;

8. タグ名の規則:
a. 文字、数字、その他の文字を含めることができます。
b. 数字またはアンダースコアで始まることはできません。
c. xml や Xml などの文字で始まることはできません。
d. スペースを含めることはできません


2. XML宣言

XML 宣言標準ステートメント: <?xml version="1.0" encoding="GB2312" standalone="yes"?>
強調する:
1. 「<?xml」の「<?」と「xml」の間にはスペースを入れないでください。
2. 「?>」の前にスペースがあってもなくてもかまいません。
3. encoding と standalone はオプションの属性です。encoding のデフォルト値は「UTF-8」、standalone のデフォルト値は「no」です。
4. 一般的なエンコード方法は次のとおりです。
中国語(簡体字):GB2312
繁体字中国語: BIG5
西ヨーロッパ文字: UTF-8、UTF-16
5.standalone は、ドキュメントに DTD ファイルが付属しているかどうかを示します。

3. XML属性

データはサブ要素と属性の両方に保存できるため、属性をいつ使用し、サブ要素をいつ使用するかについては決まったルールはありませんが、メタデータは属性として保存し、データ自体は要素として保存することをお勧めします。
属性を使用すると、次の疑問が生じます。
1. 属性には複数の値を含めることはできません(サブ要素には含めることができます)。
2. 属性を拡張するのは簡単ではありません。
3. 属性は構造を記述できません(サブ要素は記述できます)。
4. 属性は DTD 経由ではテストが困難です。

4. 名前空間

名前空間を宣言する方法は 2 つあります。
1. デフォルトでは、すべての要素にプレフィックスを指定する必要はありません。例:
<スキーマ xmlns="http://www.w3.org/2001/XMLschema">
<要素名="diguonianzhu" タイプ="文字列"/>

</スキーマ>
2. xmlns キーワードが名前空間 URI プレフィックスに関連付けられていること、およびすべての要素がプレフィックスを指定する必要があることを明確に宣言します。例:
<xsd:スキーマ xmlns:xsd="http://www.w3.org/2001/XMLschema">
<xsd:element name="diguonianzhu" type="string"/>

<xsd:/スキーマ>
強調: 名前空間を表すために使用される URI は、XML パーサーによって呼び出されず、URI は実際にはアクセスされません。これは識別名を表すだけです。

5. XML固有のタグ: CDATA

CDATA の正式名称は Character DATA で、文字データです。主に「<」などの特殊文字を表示するために使用されます。
CDATA の構文は次のとおりです。
<![CDATA[表示する文字]]> 例:
<?xml バージョン="1.0"?>
<データ>
<![CDATA[
<ok alma!> a&b より!

]]>
</データ>
強調: CDATA はネストできません。表示される文字に「]]>」を含めることはできません。

<<:  Webデザイン講座(4):素材と表現について

>>:  幅と高さが可変の要素を中央に配置するための CSS ソリューション

推薦する

MySQL スロークエリ関連パラメータの原理の分析

MySQL スロー クエリ (正式名称はスロー クエリ ログ) は、MySQL によって提供されるロ...

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

JS 日付コントロール My97DatePicker の基本的な使い方

My97DatePicker は非常に柔軟で使いやすい日付コントロールです。使い方はとても簡単です。...

docker run後にコンテナがExited (0)と表示される問題を解決する

Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。 d...

JavaScript関数の詳細な紹介

任意の数のステートメントを関数を通じてカプセル化することができ、いつでもどこでも呼び出して実行できま...

vue $http の get および post リクエストのクロスドメイン問題を解決する

Vue $http get および post リクエストのクロスドメイン問題まずconfig/ind...

Linux sftp コマンドの使用法

SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...

HTML検証 HTML検証

HTML 検証はHTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ...

Ubuntu20のtzselect設定時間失敗問題、Raspberry Piサーバ(推奨)

2 日前、Raspberry Pi サーバーを Ubuntu 20 にアップグレードしました。今日...

Docker を使用した war パッケージ プロジェクトのデプロイの実装

Docker で war をデプロイするには、コンテナを使用する必要があります。ここでは tomca...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

Tomcat のパフォーマンス最適化方法の簡単な概要

Tomcat自体の最適化Tomcat メモリ最適化起動時に大きなメモリ ブロックが必要であることを ...

Zabbix カスタム監視 nginx ステータス実装プロセス

目次Zabbix カスタム監視 nginx ステータス1. ステータスインターフェースを開く2. 監...

MySQL でコミットされていないトランザクションを見つけるための SQL の例の簡単な分析

以前、「MySQL でコミットされていないトランザクション情報を検索する方法」というタイトルのブログ...