ホームページ >バックエンド開発 >XML/RSS チュートリアル >コード内の空白の XML 処理の詳細な紹介

コード内の空白の XML 処理の詳細な紹介

黄舟
黄舟オリジナル
2017-03-10 19:40:332114ブラウズ

この記事では、XML の記述における有効な空白と無効な空白の区別を主に紹介します。XML 仕様では、空白にはスペースとタブが含まれます。空白行。 XML ドキュメントを編集する場合、読みやすくするためにタグを区切るのに空白を使用することがよくありますが、対話型の空白のドキュメントではこれらの空白は必要ありませんが、保持する必要がある場合もあります。たとえば、詩やプログラム コードの空白、

2. XML プロセッサは常に、ドキュメント内のタグではないすべての文字をアプリケーションに渡します。検証を実行する XML プロセッサは、これらの文字のどれが空白を構成しているかをアプリケーションに通知します。要素のコンテンツ内に表示されます。

3. XML ドキュメントでは、要素内で特別な属性 xml:space を使用して、この要素内に空白スペースを保持するようにアプリケーションに通知できます。
4. 有効なドキュメントでは、この属性は、他の属性と同様に、使用時に宣言する必要があります。 XML: space 属性は列挙型として宣言する必要があり、その値は「default」と「preserve」のいずれか、または両方である必要があります。
例:

<!ATTLIST poem xml:space (default preserve)’preserve’>

は、詩要素の xml:space 属性を宣言することを意味し、その型は列挙型であり、値「default」および「preserve」を取ることができ、この属性のデフォルト値は次のとおりです。 prepare'

<!ATTLIST pre xml:space (preserve)#FIXED ‘preserve’>

は、要素 pre の xml:space 属性を宣言することを意味します。この型も列挙型ですが、値は "preserve" 1 つだけであり、デフォルトでこの属性を宣言するために FIXED キーワードが使用されます。暗黙的なデフォルト値「default」を持つことを宣言すると、この要素に対してアプリケーションのデフォルトの空白処理モードを使用することが示され、「preserve」はアプリケーションにすべての空白を保持するよう指示します。

5. 要素が xml:space 属性を使用する場合、xml:space 属性の別のインスタンスによってオーバーライドされない限り、その要素のコンテンツ内のすべての要素に適用されます。



XML ドキュメントには 2 種類の空白 (a) 有効な空白と (b) 無効な空白が含まれています。次の例では、これら 2 種類の空白について説明します。

有効な空白

有効な空白は通常、要素にテキストとマークアップの両方が含まれる場合に発生します。例:

<name>TanmayPatil</name>

<name>Tanmay Patil</name>

Tanmay と Patil の間のスペースが異なるため、上記の 2 つの要素は異なります。 XML ファイル内のそのような要素を読み取るプログラムは、その区別を維持する必要があります。

無効な空白

無効な空白は、要素のコンテンツ内でのみ許可されることを意味します。例:

<address.categoryaddress.category="residence">

または

<address....categoryaddress....category="..residence">

上記 2 つの例は同じです。ここでは、空白を示すためにピリオド (.) を使用します。上記の例では、アドレスとカテゴリの間のスペースは無効です。

また、特別な属性 xml:space を要素に付加します。これは、要素の空白がアプリケーションによって削除されるべきではないことを意味します。この属性をデフォルトまたは保持に設定できます。次の例に示すように:

<!ATTLIST address xml:space (default|preserve) &#39;preserve&#39;>

ここ:

値のデフォルトは、この要素がアプリケーションのデフォルトの空白処理モードを受け入れることができることを示します。

値preserveは、アプリケーションがすべての空白を保護することを意味します。

以上がコード内の空白の XML 処理の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。