XmlSchemaAppInfo Class

 

Represents the World Wide Web Consortium (W3C) appinfo element.

Namespace:   System.Xml.Schema
Assembly:  System.Xml (in System.Xml.dll)

System::Object
  System.Xml.Schema::XmlSchemaObject
    System.Xml.Schema::XmlSchemaAppInfo

public ref class XmlSchemaAppInfo : XmlSchemaObject

NameDescription
System_CAPS_pubmethodXmlSchemaAppInfo()

Initializes a new instance of the XmlSchemaAppInfo class.

NameDescription
System_CAPS_pubpropertyLineNumber

Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyLinePosition

Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyMarkup

Gets or sets an array of XmlNode objects that represents the appinfo child nodes.

System_CAPS_pubpropertyNamespaces

Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyParent

Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertySource

Gets or sets the source of the application information.

System_CAPS_pubpropertySourceUri

Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.)

NameDescription
System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The appinfo element defines application-specific information within an annotation

The following example creates an appinfo element.

#using <mscorlib.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;

class XmlSchemaExamples
{
public:

    static void Main()
    {
        XmlSchema^ schema = gcnew XmlSchema();

        // <xs:element name="State">
        XmlSchemaElement^ element = gcnew XmlSchemaElement();
        schema->Items->Add(element);
        element->Name = "State";

        // <xs:annotation>
        XmlSchemaAnnotation^ annNorthwestStates = gcnew XmlSchemaAnnotation();
        element->Annotation = annNorthwestStates;

        // <xs:documentation>State Name</xs:documentation>
        XmlSchemaDocumentation^ docNorthwestStates = gcnew XmlSchemaDocumentation();
        annNorthwestStates->Items->Add(docNorthwestStates);
        docNorthwestStates->Markup = TextToNodeArray("State Name");

        // <xs:appInfo>Application Information</xs:appInfo>
        XmlSchemaAppInfo^ appInfo = gcnew XmlSchemaAppInfo();
        annNorthwestStates->Items->Add(appInfo);
        appInfo->Markup = TextToNodeArray("Application Information");

        XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
        schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
        schemaSet->Add(schema);
        schemaSet->Compile();

        XmlSchema^ compiledSchema;

        for each (XmlSchema^ schema1 in schemaSet->Schemas())
        {
            compiledSchema = schema1;
        }

        XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable());
        nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
		compiledSchema->Write(Console::Out, nsmgr);
    }

    static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
    {

		Console::WriteLine(args->Message);
    }

    static array<XmlNode^>^ TextToNodeArray(String^ text)
    {
        XmlDocument^ doc = gcnew XmlDocument();
		array<XmlNode^>^ nodes = {doc->CreateTextNode(text)};
		return nodes;
    }
};

int main()
{
	XmlSchemaExamples::Main();
    return 0;
};

The following XML file is generated for the preceding code example.


<?xml version="1.0" encoding="IBM437"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="State">
        <xs:annotation>
            <xs:documentation>State Name</xs:documentation>            
            <xs:appinfo>Application Information</xs:appinfo>
        </xs:annotation>
    </xs:element>
</xs:schema>

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: