この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

System.Xml 名前空間

 

公開日: 2016年4月

System.Xml 名前空間は、XML を処理するための標準ベースのサポートを提供します。

クラス説明
System_CAPS_pubclassNameTable

シングル スレッドを実装する XmlNameTableです。

System_CAPS_pubclassUniqueId

GUID に最適化された一意の識別子。

System_CAPS_pubclassXmlAttribute

1 つの属性を表します。 属性の有効値と既定値は、ドキュメント型定義 (DTD) またはスキーマの中で定義されます。

System_CAPS_pubclassXmlAttributeCollection

名前またはインデックスによってアクセス可能な属性のコレクションを表します。

System_CAPS_pubclassXmlBinaryReaderSession

最適化された文字列を動的な方法で管理できるようにします。

System_CAPS_pubclassXmlBinaryWriterSession

動的ディクショナリを使用してメッセージ内に出現する共通の文字列を圧縮し、状態を維持できるようにします。

System_CAPS_pubclassXmlCDataSection

CDATA セクションを表します。

System_CAPS_pubclassXmlCharacterData

いくつかのクラスによって使用されるさまざまなテキスト操作メソッドを提供します。

System_CAPS_pubclassXmlComment

XML コメントの内容を表します。

System_CAPS_pubclassXmlConvert

XML 名をエンコードおよびデコードし、共通言語ランタイム型と XML スキーマ定義言語 (XSD) 型との間で変換を実行するメソッドを提供します。 データ型を変換する場合、返される値はロケールには依存しません。

System_CAPS_pubclassXmlDataDocument

互換性のために残されています。により、構造化されたデータ格納、取得、およびリレーショナルを使用して操作を DataSetします。

System_CAPS_pubclassXmlDeclaration

XML 宣言ノード <? xml version= '1.0'... ?> を表します。

System_CAPS_pubclassXmlDictionary

Windows Communication Foundation (WCF) の XML リーダー/ライターの実装の最適化に使用されるディクショナリを実装します。

System_CAPS_pubclassXmlDictionaryReader

abstract に、 Windows Communication Foundation (WCF) から派生した XmlReader にシリアル化を行うし、逆シリアル化します。

System_CAPS_pubclassXmlDictionaryReaderQuotas

XmlDictionaryReaders の構成可能なクォータ値を格納します。

System_CAPS_pubclassXmlDictionaryString

XmlDictionary に格納されているエントリを表します。

System_CAPS_pubclassXmlDictionaryWriter

クラスの抽象を表します Windows Communication Foundation (WCF) から派生した XmlWriter にシリアル化を行うし、逆シリアル化します。

System_CAPS_pubclassXmlDocument

XML ドキュメントを表します。 このクラスを使用すると、XML のドキュメントへの読み込み、検証、編集、追加、および配置が可能です。

System_CAPS_pubclassXmlDocumentFragment

ツリー挿入操作用の便利な軽量オブジェクトを表します。

System_CAPS_pubclassXmlDocumentType

ドキュメント型宣言を表します。

System_CAPS_pubclassXmlElement

1 つの要素を表します。

System_CAPS_pubclassXmlEntity

エンティティ宣言をなどを表す <!エンティティ... > です。

System_CAPS_pubclassXmlEntityReference

エンティティ参照ノードを表します。

System_CAPS_pubclassXmlException

最後の例外に関する詳細情報を返します。

System_CAPS_pubclassXmlImplementation

一連のコンテキストを定義 XmlDocument オブジェクトです。

System_CAPS_pubclassXmlLinkedNode

このノードの直前または直後のノードを取得します。

System_CAPS_pubclassXmlNamedNodeMap

名前またはインデックスによってアクセス可能なノードのコレクションを表します。

System_CAPS_pubclassXmlNamespaceManager

名前空間の解決、コレクションへの追加と削除を実行します。また、名前空間のスコープ管理機能を提供します。

System_CAPS_pubclassXmlNameTable

最小単位に分割された文字列オブジェクトのテーブル。

System_CAPS_pubclassXmlNode

XML ドキュメント内の単一のノードを表します。

System_CAPS_pubclassXmlNodeChangedEventArgs

データを提供、 NodeChanged, 、NodeChanging, 、NodeInserted, 、NodeInserting, 、NodeRemovedNodeRemoving イベントです。

System_CAPS_pubclassXmlNodeList

ノードの順序付きコレクションを表します。

System_CAPS_pubclassXmlNodeReader

高速で非キャッシュの前方向アクセスで XML データを提供するリーダーを表す、 XmlNodeです。

System_CAPS_pubclassXmlNotation

表記宣言をなどを表す <!表記法... > です。

System_CAPS_pubclassXmlParserContext

必要なすべてのコンテキスト情報を提供、 XmlReader XML フラグメントの解析にします。

System_CAPS_pubclassXmlProcessingInstruction

XML がプロセッサ固有の情報をドキュメントのテキストに保持するために定義する処理命令を表します。

System_CAPS_pubclassXmlQualifiedName

XML 修飾名を表します。

System_CAPS_pubclassXmlReader

XML データへの高速で非キャッシュの前方向アクセスを提供するリーダーを表します。

この型の .NET Framework ソース コードを参照するを参照してください。、 Reference Sourceします。

System_CAPS_pubclassXmlReaderSettings

サポートする機能のセットを示す、 XmlReader によって作成されたオブジェクト、 Create メソッドです。

System_CAPS_pubclassXmlResolver

URI (Uniform Resource Identifier) で名前が指定された外部 XML リソースを解決します。

System_CAPS_pubclassXmlSecureResolver

XmlResolver オブジェクトをラップし、基になっている XmlResolver がアクセスできるリソースを制限することによって、XmlResolver の別の実装のセキュリティ保護を支援します。

System_CAPS_pubclassXmlSignificantWhitespace

混合コンテンツ ノードのマークアップ間にある空白、または xml:space= 'preserve' スコープ内の空白を表します。 これは有意の空白とも呼ばれます。

System_CAPS_pubclassXmlText

要素または属性のテキストの内容を表します。

System_CAPS_pubclassXmlTextReader

XML データへの高速で非キャッシュの前方向アクセスを提供するリーダーを表します。

.NET Framework 2.0 以降では、代わりに System.Xml.XmlReader クラスを使用することをお勧めします。

System_CAPS_pubclassXmlTextWriter

W3C 勧告『Extensible Markup Language (XML) 1.0』および勧告『Namespaces in XML』に準拠する XML データを格納するストリームまたはファイルを高速に、非キャッシュで、前方向に生成する方法を提供するライターを表します。

.NET Framework 2.0 以降では、代わりに System.Xml.XmlWriter クラスを使用することをお勧めします。

System_CAPS_pubclassXmlUrlResolver

URI (Uniform Resource Identifier) で名前が指定された外部 XML リソースを解決します。

System_CAPS_pubclassXmlValidatingReader

互換性のために残されています。ドキュメント型定義 (DTD: Document Type Definition)、XML-Data Reduced (XDR) スキーマ、および XML スキーマ定義言語 (XSD) 検証を提供するリーダーを表します。

このクラスは今後は使用しません。 .NET Framework 2.0 以降は、検証 XML リーダーを作成するのに XmlReaderSettings クラスおよび XmlReader.Create メソッドを使用することをお勧めします。

System_CAPS_pubclassXmlWhitespace

要素の内容の中にある空白を表します。

System_CAPS_pubclassXmlWriter

XML データが格納されたストリームまたはファイルを、高速かつ非キャッシュで前方のみに生成する方法を提供するライターを表します。

System_CAPS_pubclassXmlWriterSettings

サポートする機能のセットを示す、 XmlWriter によって作成されたオブジェクト、 XmlWriter.Create メソッドです。

System_CAPS_pubclassXmlXapResolver

互換性のために残されています。XmlXapResolver 型を使用して、Silverlight アプリケーションの XAP パッケージ内のリソースを解決します。

インターフェイス説明
System_CAPS_pubinterfaceIApplicationResourceStreamResolver

互換性のために残されています。アプリケーション リソース ストリーム競合回避モジュールを表します。

System_CAPS_pubinterfaceIFragmentCapableXmlDictionaryWriter

XmlDictionaryWriter で実装されると XML フラグメントの処理を可能にする、プロパティとメソッドを含みます。

System_CAPS_pubinterfaceIHasXmlNode

使用して、クラスを返す、 XmlNode から現在のコンテキストまたは位置。

System_CAPS_pubinterfaceIStreamProvider

ストリームを提供するクラスで実装できるインターフェイスを表します。

System_CAPS_pubinterfaceIXmlBinaryReaderInitializer

新しいドキュメントを読むためにバイナリ リーダーを再初期化するメソッドを提供します。

System_CAPS_pubinterfaceIXmlBinaryWriterInitializer

このインターフェイスから派生する XML バイナリ ライターの実装要件を指定します。

System_CAPS_pubinterfaceIXmlDictionary

interface および XmlDictionaryReader の実装が使用するために、XML ディクショナリが実装する必要のあるコントラクトを定義する XmlDictionaryWriter

System_CAPS_pubinterfaceIXmlLineInfo

クラスが行情報および位置情報を返せるようにするインターフェイスを提供します。

System_CAPS_pubinterfaceIXmlMtomReaderInitializer

このインターフェイスから派生する XML MTOM リーダーの実装要件を指定します。

System_CAPS_pubinterfaceIXmlMtomWriterInitializer

MTOM ライターで実装されると、このインターフェイスは MTOM ライターの初期化を保証します。

System_CAPS_pubinterfaceIXmlNamespaceResolver

プレフィックスと名前空間のマッピングのセットに対する読み取り専用アクセスを提供します。

System_CAPS_pubinterfaceIXmlTextReaderInitializer

このインターフェイスから派生する XML テキスト リーダーの実装要件を指定します。

System_CAPS_pubinterfaceIXmlTextWriterInitializer

このインターフェイスから派生する XML テキスト ライターの実装要件を指定します。

デリゲート説明
System_CAPS_pubdelegateOnXmlDictionaryReaderClose

リーダーを閉じるときのコールバック メソッドに対する delegate

System_CAPS_pubdelegateXmlNodeChangedEventHandler

処理するメソッドを表す NodeChanged, 、NodeChanging, 、NodeInserted, 、NodeInserting, 、NodeRemovedNodeRemoving イベントです。

列挙型説明
System_CAPS_pubenumConformanceLevel

入力パケットまたは出力チェックの量を指定 XmlReaderXmlWriter オブジェクトを実行します。

System_CAPS_pubenumDtdProcessing

DTD を処理するためのオプションを指定します。 DtdProcessing で列挙を使用、 XmlReaderSettings クラスです。

System_CAPS_pubenumEntityHandling

指定する方法、 XmlTextReader または XmlValidatingReader エンティティを処理します。

System_CAPS_pubenumFormatting

書式設定オプションの指定、 XmlTextWriterです。

System_CAPS_pubenumNamespaceHandling

重複する名前空間宣言を削除するかどうかを示す、 XmlWriterです。

System_CAPS_pubenumNewLineHandling

改行の処理方法を指定します。

System_CAPS_pubenumReadState

リーダーの状態を指定します。

System_CAPS_pubenumValidationType

実行する検証のタイプを指定します。

System_CAPS_pubenumWhitespaceHandling

空白の処理方法を指定します。

System_CAPS_pubenumWriteState

XmlWriter の状態を指定します。

System_CAPS_pubenumXmlDateTimeSerializationMode

文字列間の変換時に、時刻の値を処理する方法を指定し、 DateTimeです。

System_CAPS_pubenumXmlDictionaryReaderQuotaTypes

XmlDictionaryReaders の構成可能なクォータ値を列挙します。

System_CAPS_pubenumXmlNamespaceScope

名前空間のスコープを定義します。

System_CAPS_pubenumXmlNodeChangedAction

ノードの変更の種類を指定します。

System_CAPS_pubenumXmlNodeOrder

あるノードの 2 番目のノードと比較したドキュメント順を記述します。

System_CAPS_pubenumXmlNodeType

ノードの型を指定します。

System_CAPS_pubenumXmlOutputMethod

シリアル化するために使用する方法を指定、 XmlWriter 出力します。

System_CAPS_pubenumXmlSpace

現在の指定 xml:space スコープ。

System_CAPS_pubenumXmlTokenizedType

XML 型、文字列を表します。 これにより、CDATA セクションの型など特定の XML 型として読み取られる文字列。

System.Xml 名前空間は、これらの標準をサポートしています。

セクションを参照して と W3C 仕様の相違 XML クラスが W3C 推奨設定が異なる 2 つのケースにします。

.NET Framework の XML 関連の操作も他の名前空間が提供します。 一覧、説明、およびリンクを参照してください、 System.Xml Namespaces web ページです。

System.Xml.XmlReaderSystem.Xml.XmlWriter クラスに基づく非同期メソッドの数には、です。 これらのメソッドは、文字列の名前の末尾には、「Async」で識別できます。 これらのメソッドで、同期コードのような非同期コードを記述することができ、既存の同期コードを簡単に非同期コードに移行することができます。

  • 非同期のメソッドを使用して、アプリではかなりのネットワーク ストリームの待機時間ができます。 メモリ ストリーム、またはローカルのファイル ストリームの読み取り/書き込み操作の非同期 Api を使用しないでください。 入力ストリーム XmlTextReader, 、および XmlTextWriter もの非同期操作をサポートする必要があります。 それ以外の場合、スレッドは I/O 操作によってブロックされます。

  • 使用するを忘れた可能性がありますので、同期および非同期の関数呼び出しを混在させるには推奨されません、 await キーワードまたは非同期が必要な場合、同期 API を使用します。

  • 設定されていない、 XmlReaderSettings.Async または XmlWriterSettings.Async フラグを true 、非同期メソッドを使用しない場合。

  • 指定するを忘れた場合、 await キーワード、非同期メソッドを呼び出すと、結果は非確定的な: 予期した結果または例外が表示される可能性があります。

  • ときに、 XmlReader オブジェクトが大きなテキスト ノードを読み取って、部分テキ ストの値のみをキャッシュし、取得するため、テキスト ノードを返す可能性があります、 XmlReader.Value プロパティは、I/O 操作によってブロックされる可能性があります。 使用して、 GetValueAsync 非同期モードのテキスト値を取得または使用するメソッド、 ReadValueChunkAsync チャンク単位で大規模なテキストを読み取るメソッドをブロックします。

  • 使用すると、 XmlWriter オブジェクトを呼び出す、 FlushAsync メソッドを呼び出す前に Close I/O 操作がブロックされないようにします。

モデル グループのスキーマ コンポーネントでの制約に関連する 2 つの場合、 System.Xml 名前空間は、W3C 勧告によって異なります。

要素の宣言での整合性]:

場合によっては、代替グループを使用している場合に、 System.Xml 実装は、「スキーマ コンポーネントの制約:: Element Declarations Consistent を」で説明されている満たさない、 Constraints on Model Group Schema Components W3C の仕様のセクションです。

たとえば、次のスキーマには、同じ名前を持つ要素が含まれていますが、同じコンテンツ モデル、および代替グループに異なる型が使用されます。 これは通常、エラーになりますが、System.Xml では、このスキーマがエラーなしでコンパイルおよび検証されます。

<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

   <xs:element name="e1" type="t1"/>
   <xs:complexType name="t1"/>

   <xs:element name="e2" type="t2" substitutionGroup="e1"/>
      <xs:complexType name="t2">
         <xs:complexContent>
            <xs:extension base="t1">
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>

   <xs:complexType name="t3">
      <xs:sequence>
         <xs:element ref="e1"/>
         <xs:element name="e2" type="xs:int"/>
      </xs:sequence>
   </xs:complexType>
</xs:schema>

このスキーマでは、型 t3 に要素のシーケンスが含まれます。 置換が実行されるため、シーケンスの要素 e1 の参照は、e1 型の要素 t1 または e2 型の要素 t2 になる場合があります。 後者の場合は 2 つのシーケンスになる e2 型のいずれかが要素 t2 し、もう一方の型の xs:intです。

一意のパーティクル属性:

次の条件下で、 System.Xml 実装が、「スキーマ コンポーネントの制約:: 一意のパーティクル属性」で説明されているを満たしていない、 Constraints on Model Group Schema Components W3C の仕様のセクションです。

  • グループ内の要素の 1 つが、別の要素を参照している。

  • 参照されている要素が代替グループの head 要素である。

  • 代替グループには、グループ内の要素の 1 つとして同じ名前を持つ要素が含まれています。

  • 代替グループの要素が修正されていないと、代替グループ head 要素と同じ名前を持つ要素を参照する要素の基数 (minOccurs < maxOccurs)。

  • 代替グループを参照する要素の定義には、代替グループの要素と同じ名前の要素の定義が先頭に付きます。

たとえば、次のスキーマでは、コンテンツ モデルがあいまいであるためにコンパイル エラーが発生するはずですが、System.Xml では、このスキーマがエラーなしでコンパイルされます。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

  <xs:element name="e1" type="xs:int"/>
  <xs:element name="e2" type="xs:int" substitutionGroup="e1"/>

  <xs:complexType name="t3">
    <xs:sequence>
      <xs:element ref="e1" minOccurs="0" maxOccurs="1"/>
      <xs:element name="e2" type="xs:int" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="e3" type="t3"/>
</xs:schema>

次のメッセージで、検証に失敗する場合は、上記のスキーマに対して次の XML を検証しようとすると、:「要素 'e3' に無効な子要素 'e2'」と XmlSchemaValidationException 例外がスローされます。

<e3>
  <e2>1</e2>
  <e2>2</e2>
</e3>

この問題を回避するには、XSD ドキュメントで要素の宣言をスワップすることができます。 例:

<xs:sequence>
  <xs:element ref="e1" minOccurs="0" maxOccurs="1"/>
  <xs:element name="e2" type="xs:int" minOccurs="0" maxOccurs="1"/>
</xs:sequence>

これを次のようにします。

<xs:sequence>
  <xs:element name="e2" type="xs:int" minOccurs="0" maxOccurs="1"/>
  <xs:element ref="e1" minOccurs="0" maxOccurs="1"/>
</xs:sequence>

同じような問題の別の例を次に示します。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
   <xs:element name="e1" type="xs:string"/>
   <xs:element name="e2" type="xs:string" substitutionGroup="e1"/>

   <xs:complexType name="t3">
      <xs:sequence>
         <xs:element ref="e1" minOccurs="0" maxOccurs="1"/>
         <xs:element name="e2" type="xs:int" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:complexType>
   <xs:element name="e3" type="t3"/>
</xs:schema>

上記のスキーマに対して次の XML を検証しようとすると場合、検証は、次の例外で失敗します"ハンドルされない例外: System.Xml.Schema.XmlSchemaValidationException:、'e2' 要素が無効です - 値 'abc' が正しくないデータ型 ' http://www.w3.org/2001/XMLSchema:int' - 'abc' 文字列が有効な Int32 値ではありません。"。\

<e3><e2>abc</e2></e3>

型およびメンバー、 System.Xml 名前空間に依存します。 次のセクションでは、XML テクノロジに固有のセキュリティの問題について説明します。 詳細については、固有のクラスとメンバーの説明を参照してくださいを参照してください、 XML Developer Center の技術情報については、ダウンロード、ニュースグループ、および XML 開発者向けの他のリソースです。

使用すると、 System.Xml 型およびメンバーを XML には、プライバシーに影響があるデータが含まれている場合、エンドユーザーのプライバシーを尊重した方法でアプリを実装する必要があります。

外部アクセス

いくつかの XML テクノロジには、処理中に他のドキュメントを取得する機能があります。 たとえば、解析中のドキュメントにドキュメント型定義 (DTD) が存在する可能性があります。 解析中のドキュメントによって参照されている外部ドキュメントにも、DTD が存在する可能性があります。 XML スキーマ定義言語 (XSD) および XSLT テクノロジにも、他のファイルから情報を取り込む機能があります。 これらの外部リソースには、いくつかのセキュリティに関する注意事項を表示できます。 たとえば、アプリは、ファイルを信頼済みサイトからのみ取得し、取得、ファイルと、悪意のあるデータが含まれていないことを確認します。

XmlUrlResolver クラスは、XML ドキュメントを読み込むと、エンティティ、Dtd またはスキーマなどの外部リソースを解決するには、import または include ディレクティブを使用します。

このクラスをオーバーライドし、指定できます、 XmlResolver を使用するオブジェクト。 制御対象外の (信頼できない) リソースを開く場合には、XmlSecureResolver クラスを使用します。 XmlSecureResolverXmlResolver をラップしたもので、元の XmlResolver がアクセスできるリソースを制限できます。

サービス拒否

次のシナリオは、サービス不能攻撃に対する脆弱性が低いと考えられます。これは、System.Xml クラスによって、そのような攻撃に対する保護手段が提供されるためです。

  • テキスト XML データの解析。

  • バイナリ XML データは、Microsoft SQL Server によって生成された場合は、バイナリ XML データを解析します。

  • データ ソースからファイル システム、ストリーム、TextWriter、または StringBuilder への XML ドキュメントおよびフラグメントの書き込み。

  • XmlReader オブジェクトを使用し、DtdProcessingProhibit に設定されている場合のドキュメント オブジェクト モデル (DOM) オブジェクトへのドキュメントの読み込み。

  • DOM オブジェクトの移動。

サービス不能攻撃の心配がある場合、または信頼できない環境を使用している場合、次のシナリオは推奨されません。

  • DTD 処理。

  • スキーマ処理。 これには、信頼されていないスキーマのスキーマ コレクションへの追加、信頼されていないスキーマのコンパイル、および信頼されていないスキーマを使用した検証が含まれます。

  • XSLT 処理。

  • ユーザーから提供されたバイナリ XML データの任意のスリームの解析。

  • クエリ、編集、ドキュメント間でのサブツリーの移動、DOM オブジェクトの保存などの DOM 操作。

サービス拒否攻撃を懸念される場合、または信頼されていないソースを扱う場合は、DTD 処理を有効にしないでください。 これは上の既定で無効に XmlReader オブジェクトを Create メソッドを作成します。

System_CAPS_noteメモ

XmlTextReader では、DTD 処理が既定で許可されます。 XmlTextReader.DtdProcessing プロパティを使用してこの機能を無効にします。

使用することができます DTD 処理を有効にした場合、 XmlSecureResolver リソースを制限するクラスを XmlReader にアクセスできます。 XML 処理に対するメモリと時間制限できるように、アプリを設計することもできます。 たとえば、ASP.NET アプリケーションでタイムアウト制限を構成できます。

処理の考慮事項

XML ドキュメントには他のファイルへの参照を含めることが可能なため、XML ドキュメントの解析に必要な処理能力を確定することは困難です。 たとえば、XML ドキュメントには DTD を含めることができます。 DTD にネストされたエントリや複合コンテンツ モデルが含まれている場合、ドキュメントの解析に長い時間がかかることがあります。

XmlReader を使用するときには、MaxCharactersInDocument プロパティを設定することで、解析可能なドキュメントのサイズを制限できます。 エンティティの展開により生成される文字数を制限するには、MaxCharactersFromEntities プロパティを設定します。 これらのプロパティの設定例については、該当するトピックを参照してください。

XSD および XSLT テクノロジには、処理パフォーマンスに影響する可能性のある追加機能があります。 たとえば、比較的小さなドキュメントの評価時に大量の時間を必要とする XML スキーマを作成することが可能です。 また、XSLT スタイル シート内にスクリプト ブロックを埋め込むことも可能です。 どちらの場合は、アプリに潜在的なセキュリティ脅威をもたらします。

アプリケーションの作成を使用する場合、 XslCompiledTransform クラスで、次の項目とその関連事項に注意してください。

  • XSLT スクリプトは既定で無効になっています。 XSLT スクリプトは、スクリプトのサポートが必要であり、完全に信頼された環境で作業している場合のみ有効にします。

  • XSLT document() 関数は既定で無効になっています。 document() 関数を有効にした場合は、XmlSecureResolver オブジェクトを Transform メソッドに渡すことによって、アクセス可能なリソースを制限してください。

  • 拡張オブジェクトは既定で有効になっています。 拡張オブジェクトを含む XsltArgumentList オブジェクトが Transform メソッドに渡されると、拡張オブジェクトは使用されます。

  • XSLT スタイル シートには、他のファイルへの参照や埋め込みのスクリプト ブロックを含めることができます。 悪意のあるユーザーがこれを悪用して、コンピューターがリソース不足に陥るまでシステムに処理を行わせようとするデータやスタイル シートを提供する可能性があります。

  • 混在信頼環境で実行されるアプリケーションが XSLT スタイル シートのなりすまし可能性があります。 たとえば、悪意のあるユーザーは、有害なスタイル シートを含むオブジェクトを読み込み、それを Transform メソッドを呼び出して変換を実行する別のユーザーに渡す可能性があります。

これらのセキュリティ上の問題は、スタイル シートが信頼されたソースからのものでない限り、スクリプトや document() 関数を有効にしないこと、および信頼されていないソースからの XslCompiledTransform オブジェクト、XSLT スタイル シート、または XML ソース データを受け入れないことによって軽減できます。

例外処理

下位レベルのコンポーネントによってスローされた例外は、アプリケーションに公開されないようにするパスの情報を公開してあります。 アプリは、例外をキャッチして、適切に処理する必要があります。

トップに戻る
表示: