ホームページ バックエンド開発 XML/RSS チュートリアル XML内のスペースについて説明する

XML内のスペースについて説明する

Apr 05, 2017 pm 05:09 PM

HTML ファイルの場合、スペースは重要ではありませんが、XML の場合、デフォルトの位置ではスペース ノードが保持されます (スペース ノードの説明については以下を参照)。


XML 仕様によれば、いわゆるスペースは 4 つの文字の任意の組み合わせシーケンスです:
----------------------
スペース文字( space )、対応する文字値は #x20
Carriage Return、対応する文字値は #xD
改行文字 (Newline)、対応する文字値は #xA
Tab 文字 (Tab)、対応する文字値は #x9 です。

xml ファイル内のスペースも、スペース ノードであるノードを形成します。スペース ノードはテキスト ノード タイプに属します。

XML およびXML 入力ファイル内のどのスペースが重要であるかを判断するには、xslt プロセッサはこれらのスペース ノードを確認する必要があります。決定の鍵となるのは xml:space 属性です。
2. xsl テンプレート ファイル内でどのスペースが重要であるかを判断し、xslt プロセッサはそれを結果ツリーにコピーする必要があります。決定の鍵となるのは 2 つのコマンド xsl:strip-space
と xsl:preserve-space です。

「重要な空間ノードと重要でない空間ノード」

----------------------------
コンポーネントのコンテンツのみを配置できる場合コンポーネントの場合、コンポーネント内のスペース ノードは Insignificant です。コンポーネントのコンテンツのタイプが #PCDATA の場合、そのコンポーネント内のスペース ノードは Significant とみなされます。
コンポーネントのコンテンツがテキストコンテンツとコンポーネントの混合である状況については、コンポーネントとそのコンテンツの意味論的な意味に依存して判断することはできません。


xsltプロセッサがxml入力ファイルと接触する前に、xmlパーサーによって分析されます

-------------------------------------

(1) xml :space 属性は、後続の XML アプリケーションによるスペース ノードの処理モードを変更できます。たとえば、xslt プロセッサは xml:space 属性の影響を受けます。
(2) XML ファイル内の列マークまたはコンテンツの末尾にある終了記号は、単一の改行文字 (#xA) に置き換えられます。
(3) 属性値が XML アプリケーションに渡される前に、XML パーサーは属性値に対して標準化された操作も実行する必要があります。これは、オペレーティング システムが異なると、テキストの各行の終了文字の組み合わせが異なるためです。たとえば、Windows システムでは終了記号を形成するために改行文字が使用されますが、Unix システムでは新しい文字のみが使用されます。行文字グループ
を使用して終了記号を形成します。 XML パーサーは XML ファイルを読み取った後、まずすべての終了記号を 1 つの改行文字に置き換えます。これにより、異なるシステム間での異なる終了記号のデザインの違いが統一されるだけでなく、後続の XML アプリケーションの操作の難しさも軽減されます。 。このようなプロセスを「正規化」と呼びます。
a. 各テキスト列の終了文字は単一の改行文字 (#xA) に正規化する必要があります。
b、スペース文字 (#x20、#xD、#xA、#x9) はスペース文字 (#x20) に置き換える必要があります。
c、属性値に単語パラメータ コードが含まれている場合は、参照文字に置き換える必要があります。たとえば、 改行文字(#xA)に置き換えられます。
d. 属性値にエンティティ参照が含まれている場合は、その置換テキストで置き換える必要があります。
e、これ以外の文字は正規化された属性値に直接入れる必要があります。
f. 最後に、属性タイプが CDATA でない場合、XML パーサーは属性値の前後にある一連のスペース文字をさらに削除する必要があります。また、属性値の途中に一連のスペースがある場合は、同様に削除する必要があります。単一のスペース文字に置き換えることができます。


xslt プロセッサは、xml 入力ファイルと xsl テンプレート ファイルの構造ツリーを構築した後、コンポーネント内の隣接するテキスト ノードを 1 つのテキスト ノードにマージし、いくつかのテキスト ノードを削除します。ただし、テキスト ノードが以下の条件のいずれかを満たしている場合、テキスト ノードは保持されます。
-------------------------------------
(1) テキスト ノード親コンポーネントは、空白を保持する要素名のセットのメンバーです。
(2) テキストノードに少なくとも 1 つの非スペース文字があります。
(3) テキスト ノードの祖先コンポーネントに xml:space 属性があり、その値は保持されていますが、最近の祖先コンポーネントにはデフォルトである他の xml:space 属性値はありません。他のテキスト ノードは削除されます。


xsl テンプレートの場合、いわゆるスペース保持コンポーネント名セットには、使用可能な xsl:text コンポーネントが 1 つだけあります。 xsl テンプレート ファイル内のスペース ノードは削除されますが、スペース ノードが xsl:text コンポーネントに表示される場合は保持されます。


以上がXML内のスペースについて説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PowerPoint を使用して XML ファイルを開くことはできますか? PowerPoint を使用して XML ファイルを開くことはできますか? Feb 19, 2024 pm 09:06 PM

XML ファイルは PPT で開くことができますか? XML、Extensible Markup Language (Extensible Markup Language) は、データ交換とデータ ストレージで広く使用されている汎用マークアップ言語です。 HTML と比較して、XML はより柔軟であり、独自のタグとデータ構造を定義できるため、データの保存と交換がより便利で統一されます。 PPT (PowerPoint) は、プレゼンテーションを作成するために Microsoft によって開発されたソフトウェアです。包括的な方法を提供します。

Python で XML データを CSV 形式に変換する Python で XML データを CSV 形式に変換する Aug 11, 2023 pm 07:41 PM

Python の XML データを CSV 形式に変換する XML (ExtensibleMarkupLanguage) は、データの保存と送信に一般的に使用される拡張可能なマークアップ言語です。 CSV (CommaSeparatedValues) は、データのインポートとエクスポートに一般的に使用されるカンマ区切りのテキスト ファイル形式です。データを処理するとき、分析や処理を容易にするために、XML データを CSV 形式に変換する必要がある場合があります。 Pythonは強力です

Python を使用した XML データのフィルタリングと並べ替え Python を使用した XML データのフィルタリングと並べ替え Aug 07, 2023 pm 04:17 PM

Python を使用した XML データのフィルタリングと並べ替えの実装 はじめに: XML は、データをタグと属性の形式で保存する、一般的に使用されるデータ交換形式です。 XML データを処理するとき、多くの場合、データのフィルタリングと並べ替えが必要になります。 Python には、XML データを処理するための便利なツールとライブラリが多数用意されています。この記事では、Python を使用して XML データをフィルタリングおよび並べ替える方法を紹介します。 XML ファイルの読み取り 始める前に、XML ファイルを読み取る必要があります。 Python には XML 処理ライブラリが多数ありますが、

Python は XML と JSON 間の変換を実装します Python は XML と JSON 間の変換を実装します Aug 07, 2023 pm 07:10 PM

Python は XML と JSON 間の変換を実装します はじめに: 日常の開発プロセスでは、異なる形式間でデータを変換する必要があることがよくあります。 XML と JSON は一般的なデータ交換形式であり、Python ではさまざまなライブラリを使用して XML と JSON の間で変換できます。この記事では、一般的に使用されるいくつかの方法をコード例とともに紹介します。 1. Python で XML を JSON に変換するには、xml.etree.ElementTree モジュールを使用できます。

Python を使用した XML でのエラーと例外の処理 Python を使用した XML でのエラーと例外の処理 Aug 08, 2023 pm 12:25 PM

Python を使用した XML でのエラーと例外の処理 XML は、構造化データの保存と表現に使用される一般的に使用されるデータ形式です。 Python を使用して XML を処理すると、エラーや例外が発生することがあります。この記事では、Python を使用して XML のエラーと例外を処理する方法を紹介し、参考用のサンプル コードをいくつか示します。 Try-Except ステートメントを使用して XML 解析エラーを捕捉する Python を使用して XML を解析すると、時々、次のようなエラーが発生することがあります。

全角スペースと半角スペースの違い 全角スペースと半角スペースの違い Mar 25, 2024 pm 12:45 PM

全角スペースと半角スペースの違い ワープロソフトを使ったり、テキストコンテンツを編集したりするときに、スペースという概念が出てくることがあります。スペースはテキストの組版や書式設定において非常に基本的な要素ですが、全角スペースと半角スペースの違いがわからない人も多いかもしれません。日常的に使用していると、全角スペースと半角スペースが状況に応じて異なる効果を持っていると感じていても、その微妙な違いには気づいていないかもしれません。まず、全角スペースと半角スペースの違いは、占める幅です。

Python は XML 内の特殊文字とエスケープ シーケンスを解析します Python は XML 内の特殊文字とエスケープ シーケンスを解析します Aug 08, 2023 pm 12:46 PM

Python は XML 内の特殊文字とエスケープ シーケンスを解析します XML (eXtensibleMarkupLanguage) は、異なるシステム間でデータを転送および保存するために一般的に使用されるデータ交換形式です。 XML ファイルを処理する場合、特殊文字やエスケープ シーケンスが含まれる状況に遭遇することが多く、これにより解析エラーやデータの誤解が生じる可能性があります。したがって、Python を使用して XML ファイルを解析する場合は、これらの特殊文字とエスケープ シーケンスの処理方法を理解する必要があります。 1. 特殊文字と

C# 開発で XML および JSON データ形式を処理する方法 C# 開発で XML および JSON データ形式を処理する方法 Oct 09, 2023 pm 06:15 PM

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。

See all articles