XmlSchemaMaxExclusiveFacet Class

 

Represents the maxExclusive element from XML Schema as specified by the World Wide Web Consortium (W3C). This class can be used to specify a restriction on the maximum value of a simpleType element. The element value must be less than the value of the maxExclusive element.

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

System::Object
  System.Xml.Schema::XmlSchemaObject
    System.Xml.Schema::XmlSchemaAnnotated
      System.Xml.Schema::XmlSchemaFacet
        System.Xml.Schema::XmlSchemaMaxExclusiveFacet

public ref class XmlSchemaMaxExclusiveFacet : XmlSchemaFacet

NameDescription
System_CAPS_pubmethodXmlSchemaMaxExclusiveFacet()

Initializes a new instance of the XmlSchemaMaxExclusiveFacet class.

NameDescription
System_CAPS_pubpropertyAnnotation

Gets or sets the annotation property.(Inherited from XmlSchemaAnnotated.)

System_CAPS_pubpropertyId

Gets or sets the string id.(Inherited from XmlSchemaAnnotated.)

System_CAPS_pubpropertyIsFixed

Gets or sets information that indicates that this facet is fixed.(Inherited from XmlSchemaFacet.)

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_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_pubpropertySourceUri

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

System_CAPS_pubpropertyUnhandledAttributes

Gets or sets the qualified attributes that do not belong to the current schema's target namespace.(Inherited from XmlSchemaAnnotated.)

System_CAPS_pubpropertyValue

Gets or sets the value attribute of the facet.(Inherited from XmlSchemaFacet.)

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 following example shows the use of the XmlSchemaMaxExclusiveFacet class.

#using <System.Xml.dll>

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

ref class XMLSchemaExamples
{
private:
	static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
    {
        Console::WriteLine(args->Message);
    }

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

        // <xs:simpleType name="WaitQueueLengthType">
        XmlSchemaSimpleType^ WaitQueueLengthType = gcnew XmlSchemaSimpleType();
        WaitQueueLengthType->Name = "WaitQueueLengthType";

        // <xs:restriction base="xs:int">
        XmlSchemaSimpleTypeRestriction^ restriction = gcnew XmlSchemaSimpleTypeRestriction();
        restriction->BaseTypeName = gcnew XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema");

        // <xs:maxExclusive value="5"/>
        XmlSchemaMaxExclusiveFacet^ maxExclusive = gcnew XmlSchemaMaxExclusiveFacet();
        maxExclusive->Value = "5";
        restriction->Facets->Add(maxExclusive);

        WaitQueueLengthType->Content = restriction;

        schema->Items->Add(WaitQueueLengthType);

        // <xs:element name="Lobby">
        XmlSchemaElement^ element = gcnew XmlSchemaElement();
        element->Name = "Lobby";

        // <xs:complexType>
        XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();

        // <xs:attribute name="WaitQueueLength" type="WaitQueueLengthType"/>
        XmlSchemaAttribute^ WaitQueueLengthAttribute = gcnew XmlSchemaAttribute();
        WaitQueueLengthAttribute->Name = "WaitQueueLength";
        WaitQueueLengthAttribute->SchemaTypeName = gcnew XmlQualifiedName("WaitQueueLengthType", "");
        complexType->Attributes->Add(WaitQueueLengthAttribute);

        element->SchemaType = complexType;

        schema->Items->Add(element);

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

        XmlSchema^ compiledSchema = nullptr;

        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);
    }
};

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:simpleType name="WaitQueueLengthType">
		<xs:restriction base="xs:int">
			<xs:maxExclusive value="5"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:element name="Lobby">
		<xs:complexType>
			<xs:attribute name="WaitQueueLength" type="WaitQueueLengthType"/>
		</xs:complexType>
	</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: