XmlWriterSettings.ConformanceLevel XmlWriterSettings.ConformanceLevel XmlWriterSettings.ConformanceLevel XmlWriterSettings.ConformanceLevel Property

定義

XML ライターが XML 出力をチェックする準拠のレベルを取得または設定します。Gets or sets the level of conformance that the XML writer checks the XML output for.

public:
 property System::Xml::ConformanceLevel ConformanceLevel { System::Xml::ConformanceLevel get(); void set(System::Xml::ConformanceLevel value); };
public System.Xml.ConformanceLevel ConformanceLevel { get; set; }
member this.ConformanceLevel : System.Xml.ConformanceLevel with get, set
Public Property ConformanceLevel As ConformanceLevel

プロパティ値

準拠のレベル (ドキュメント、フラグメント、自動検出) を指定する列挙値のいずれか。One of the enumeration values that specifies the level of conformance (document, fragment, or automatic detection). 既定値は、Document です。The default is Document.

次の例では、メモリ ストリームを XML フラグメントを書き込みます。The following example writes an XML fragment to a memory stream.

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;

// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();

// Do additonal processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false

' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()

' Do additonal processing on the stream.

注釈

XmlWriterSettings.ConformanceLevelプロパティがチェックされ、書き込まれるストリームは、特定の一連の規則に準拠しているかを保証する XML ライターを構成します。The XmlWriterSettings.ConformanceLevel property configures the XML writer to check and guarantee that the stream being written complies with a certain set of rules. XML データは、整形式 XML 1.0 ドキュメントまたはドキュメント フラグメントの規則に準拠していることを確認するチェックできます。The XML data can be checked to see that it conforms to the rules for a well-formed XML 1.0 document or a document fragment. 次の表では、3 つの設定について説明します。The following table describes the three settings. 既定ではドキュメント レベルの一致です。The default is document-level conformance.

設定Setting 説明Description
Document XML 出力が準拠していることにより、の整形式 XML 1.0 ドキュメントの規則準拠のいずれかのプロセッサで処理できるとします。Ensures that the XML output conforms to the rules for a well-formed XML 1.0 document and can be processed by any conforming processor.

ドキュメントの一致チェックは、フラグメント レベルのチェックの大部分が含まれますも、次を確認します。The document conformance checks include most of the fragment-level checks and also ensure the following:

-最上位の項目は、XML 宣言、DTD、要素、コメント、空白文字、または処理命令以外のノードにありません。- The top-level item doesn't have any nodes other than XML Declaration, DTD, element, comment, white space, or processing instruction.
XML データでは、1 つだけの最上位の要素ノードがあります。- The XML data has one and only one top-level element node.

XML ライターには、書き込まれる DTD 情報を解析しません。The XML writer doesn't parse DTD information that is written. ユーザーが、DTD が整形式であることを保証します。The user is responsible for ensuring that the DTD is well-formed.
Fragment XML 出力に準拠していることにより、整形式 XML 1.0 ドキュメント フラグメントの規則します。Ensures that the XML output conforms to the rules for a well-formed XML 1.0 document fragment.

この設定は、最上位レベルで複数のルート要素またはテキスト ノードを含む XML データを受け入れます。This setting accepts XML data that has multiple root elements or text nodes at the top level. このレベルのチェックでは、すべてのプロセッサで、読み込むストリームが XML 1.0 の外部解析対象エンティティとして処理できることが保証されます。This level of checking ensures that any processor can consume the stream being read as an XML 1.0 external parsed entity.

DTD 情報は、ドキュメント フラグメントで許可されていません。DTD information isn't allowed in document fragments.
Auto XML ライターが受信データに基づくの一致チェック レベルを決定する必要がありますを指定します。Specifies that the XML writer should determine the level of conformance checking based on the incoming data. この設定は、生成された XML が整形式 XML ドキュメントまたはフラグメントするがかどうかがわからない場合に便利です。This setting can be useful when you don't know whether the generated XML will be a well-formed XML document or a fragment.

ドキュメントの一致チェックは、次の場合に適用されます。Document conformance checking is applied in the following cases:

If、WriteStartDocumentメソッドが呼び出されます。- If the WriteStartDocument method is called.
場合、DTD 情報が書き込まれます。- If DTD information is written.

XML データには、次のいずれかが含まれている場合、フラグメント一致チェックが適用されます。Fragment conformance checking is applied if the XML data contains one of these:

ルート レベルでのテキスト、CDATA、または EntityReference ノード。- Text, CDATA, or EntityReference node at the root level.
のルート レベルで複数の要素。- More than one element at the root level.
ルート レベル要素はなし。- No element at the root level.

テキスト ノードを書き出そうとしてルート レベルに DTD があるなどの矛盾がある場合には XmlException がスローされます。An XmlException is thrown if there is a conflict, such as when you try to write a text node and a DTD at the root level.

別、ラップする場合XmlWriterオブジェクトは外側のオブジェクトは追加の準拠チェックを実行しません。 これは、左から基になるオブジェクト。If you are wrapping another XmlWriter object, the outer object doesn't do any additional conformance checking; this is left to the underlying object.

XML ライターでは、指定されたレベルの準拠に違反するすべての情報を検出する場合は、例外をスローします。If the XML writer detects any information that would violate the specified level of conformance, it throws an exception. 場合によっては、XML ライターは自動的に準拠エラーを修正します。In some cases, the XML writer automatically corrects the conformance error. たとえば、ライターは例外をスローせず閉じられていない属性を閉じます。For example, the writer closes an unclosed attribute without throwing an exception. 次の表は、さまざまな一致の違反は、各設定で処理されます。The following table shows how various conformance violations are handled in each setting.

条件Condition Document Fragment Auto
DTD 情報が見つかりました。DTD information is found. しないこの設定の違反です。Not a violation for this setting. ただし、XML ライターは、DTD をチェックしませんユーザーは、DTD が整形式であることを確認する必要があります。However, the XML writer doesn't check the DTD; the user must ensure that the DTD is well-formed. XmlException スローされます。XmlException is thrown. ドキュメントの一致チェックが適用されます。Document conformance checking is applied.
WriteStartDocument が呼び出されます。WriteStartDocument is called. この設定の違反とは見なされません。Not considered a violation for this setting. XmlException スローされます。XmlException is thrown. ドキュメントの一致チェックが適用されます。Document conformance checking is applied.
WriteStartDocument は複数回呼び出されます。WriteStartDocument is called multiple times. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
(要素または属性ノードでは) 以下ではない最上位レベルにテキスト値が表示されます。A text value appears at the top level (not below an element or attribute node). XmlException スローされます。XmlException is thrown. 違反とは見なされません。Not considered a violation. フラグメント一致チェックが適用されます。Fragment conformance checking is applied.
複数の要素または要素はありませんが、最上位レベルに表示されます。Multiple elements or no elements appear at the top level. XmlException スローされます。XmlException is thrown. 違反とは見なされません。Not considered a violation. フラグメント一致チェックが適用されます。Fragment conformance checking is applied.
最上位の項目には空白です。Top-level item is white space. 違反とは見なされません。Not considered a violation. 違反とは見なされません。Not considered a violation. 違反とは見なされません。Not considered a violation.
WriteEndAttribute 属性ノードを終了すると呼ばれるはありません。WriteEndAttribute isn't called to end an attribute node. XML ライターで修正されます。Fixed by XML writer. XML ライターで修正されます。Fixed by XML writer. XML ライターで修正されます。Fixed by XML writer.
XML ライターが不適切に入れ子になった状態 (たとえば、WriteStartElement呼び出しの後に、 WriteEndAttribute)。The XML writer is in an improperly nested state (for example, a WriteStartElement call is followed by a WriteEndAttribute). XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
最上位の項目は、属性です。Top-level item is an attribute. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
複数の連続したテキスト ノードがある。Multiple, contiguous text nodes are found. 違反とは見なされませんが、テキスト ノードを連結するユーザーの責任です。Not considered a violation, but it's the responsibility of the user to concatenate the text nodes. 違反とは見なされませんが、テキスト ノードを連結するユーザーの責任です。Not considered a violation, but it's the responsibility of the user to concatenate the text nodes. 違反とは見なされませんが、テキスト ノードを連結するユーザーの責任です。Not considered a violation, but it's the responsibility of the user to concatenate the text nodes.
同じ名前空間プレフィックスが要素内で 2 回宣言されている。The same namespace prefix is declared twice in an element. XML ライターでは、2 つ目の名前空間の新しいプレフィックスを生成します。The XML writer generates a new prefix for the second namespace. XML ライターでは、2 つ目の名前空間の新しいプレフィックスを生成します。The XML writer generates a new prefix for the second namespace. XML ライターでは、2 つ目の名前空間の新しいプレフィックスを生成します。The XML writer generates a new prefix for the second namespace.
WriteStartElement プレフィックスと、そのスコープ内で宣言されていない名前空間を指定しますまたは、プレフィックスが別の名前空間に関連付けられています。WriteStartElement specifies a prefix and a namespace that isn't declared within that scope, or the prefix is associated with a different namespace. 必要な名前空間ノードを XML ライターに書き込みます。The XML writer writes the necessary namespace node. 必要な名前空間ノードを XML ライターに書き込みます。The XML writer writes the necessary namespace node. 必要な名前空間ノードを XML ライターに書き込みます。The XML writer writes the necessary namespace node.
WriteStartAttribute そのスコープ内で宣言されていない名前空間プレフィックスを指定します。WriteStartAttribute specifies a prefix and a namespace that isn't declared within that scope. 必要な名前空間ノードを XML ライターに書き込みます。The XML writer writes the necessary namespace node. 必要な名前空間ノードを XML ライターに書き込みます。The XML writer writes the necessary namespace node. 必要な名前空間ノードを XML ライターに書き込みます。The XML writer writes the necessary namespace node.
WriteStartAttribute プレフィックスと名前空間が、プレフィックスが別のスコープ内名前空間に関連付けを指定します。WriteStartAttribute specifies a prefix and a namespace, but the prefix is associated with a different in-scope namespace. XML ライターは、指定したプレフィックスを無視し、正しいプレフィックスを検索、または、新しいプレフィックスが生成されます。The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix. XML ライターは、指定したプレフィックスを無視し、正しいプレフィックスを検索、または、新しいプレフィックスが生成されます。The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix. XML ライターは、指定したプレフィックスを無視し、正しいプレフィックスを検索、または、新しいプレフィックスが生成されます。The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix.
WriteQualifiedName スコープ内で存在しない名前空間を使用して、要素コンテンツの書き込みに使用されます。WriteQualifiedName is used to write element content by using a namespace that doesn't exist within the scope. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
WriteQualifiedName スコープ内で存在しない名前空間を使用して属性コンテンツの書き込みに使用されます。WriteQualifiedName is used to write attribute content by using a namespace that doesn't exist within the scope. XML ライターでは、必要な名前空間宣言を書き込みます。The XML writer writes the necessary namespace declaration. XML ライターでは、必要な名前空間宣言を書き込みます。The XML writer writes the necessary namespace declaration. XML ライターでは、必要な名前空間宣言を書き込みます。The XML writer writes the necessary namespace declaration.
xml:space属性が有効な値が含まれていません。The xml:space attribute doesn't contain a valid value. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
無効な名前が検出される。An invalid name is encountered. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
xml URI にプレフィックスは一致しません。The xml prefix isn't matched to a URI. XML ライターではこの種類の違反について確認します。The XML writer doesn't check for this type of violation. XML ライターではこの種類の違反について確認します。The XML writer doesn't check for this type of violation. XML ライターではこの種類の違反について確認します。The XML writer doesn't check for this type of violation.
xmlにプレフィックスは一致しません、 http://www.w3.org/XML/1998/namespace URI。The xml prefix isn't matched to the http://www.w3.org/XML/1998/namespace URI. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.
xmlnsプレフィックスまたはローカル名は URI に一致しません。The xmlns prefix or local name isn't matched to a URI. XML ライターではこの種類の違反について確認します。The XML writer doesn't check for this type of violation. XML ライターではこの種類の違反について確認します。The XML writer doesn't check for this type of violation. XML ライターではこの種類の違反について確認します。The XML writer doesn't check for this type of violation.
xmlnsプレフィックスまたはローカル名に一致しません、 http://www.w3.org/2000/xmlns URI。The xmlns prefix or local name isn't matched to the http://www.w3.org/2000/xmlns URI. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown. XmlException スローされます。XmlException is thrown.

適用対象