DocumentBase.XMLSchemaViolations Property
Gets a Microsoft.Office.Interop.Word.XMLNodes collection that represents all nodes in the document that have validation errors.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word.v4.0.Utilities (in Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Syntax
'Declaration
Public ReadOnly Property XMLSchemaViolations As XMLNodes
public XMLNodes XMLSchemaViolations { get; }
Property Value
Type: Microsoft.Office.Interop.Word.XMLNodes
A Microsoft.Office.Interop.Word.XMLNodes collection that represents all nodes in the document that have validation errors.
Examples
The following code example sets the value of each child node of the root element in the document to a string, and then displays the names of the nodes that have validation errors. For example, any node that maps to a schema element with an integer type will report a violation error. To use this example, run it from the ThisDocument class in a document-level project.
Private Sub DocumentXMLSchemaViolations()
Dim stringBuilder1 As New System.Text.StringBuilder()
' Set the node text for all child nodes of the
' root element.
Dim node As Word.XMLNode
For Each node In Me.XMLNodes(1).ChildNodes
node.Text = "A string value"
Next node
' Add the names of the nodes with violations to
' the StringBuilder.
Dim node2 As Word.XMLNode
For Each node2 In Me.XMLSchemaViolations
stringBuilder1.Append(node2.BaseName & ", ")
Next node2
' End the StringBuilder with a period.
stringBuilder1.Remove(stringBuilder1.Length - 2, 2)
stringBuilder1.Append(".")
MessageBox.Show("The document contains " & Me.XMLSchemaViolations.Count.ToString() _
& " element(s) with errors: " & stringBuilder1.ToString())
End Sub
private void DocumentXMLSchemaViolations()
{
System.Text.StringBuilder stringBuilder1 =
new System.Text.StringBuilder();
// Set the node text for all child nodes of the
// root element.
foreach (Word.XMLNode node in this.XMLNodes[1].ChildNodes)
{
node.Text = "A string value";
}
// Add the names of the nodes with violations to
// the StringBuilder.
foreach (Word.XMLNode node in this.XMLSchemaViolations)
{
stringBuilder1.Append(
node.BaseName + ", ");
}
// End the StringBuilder with a period.
stringBuilder1.Remove(stringBuilder1.Length - 2, 2);
stringBuilder1.Append(".");
MessageBox.Show("The document contains " +
this.XMLSchemaViolations.Count.ToString() +
" element(s) with errors: " + stringBuilder1.ToString());
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.