XmlSchemaFractionDigitsFacet Class

 

Specifies a restriction on the number of digits that can be entered for the fraction value of a simpleType element. The value of fractionDigits must be a positive integer. Represents the World Wide Web Consortium (W3C) fractionDigits facet.

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::XmlSchemaNumericFacet
          System.Xml.Schema::XmlSchemaFractionDigitsFacet

public ref class XmlSchemaFractionDigitsFacet : XmlSchemaNumericFacet

NameDescription
System_CAPS_pubmethodXmlSchemaFractionDigitsFacet()

Initializes a new instance of the XmlSchemaFractionDigitsFacet 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 XmlSchemaFractionDigitsFacet class.

#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:simpleType name="RatingType">
        XmlSchemaSimpleType^ RatingType = gcnew XmlSchemaSimpleType();
        RatingType->Name = "RatingType";

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

        // <xs:totalDigits value="2"/>
        XmlSchemaTotalDigitsFacet^ totalDigits = gcnew XmlSchemaTotalDigitsFacet();
        totalDigits->Value = "2";
        restriction->Facets->Add(totalDigits);

        // <xs:fractionDigits value="1"/>
        XmlSchemaFractionDigitsFacet^ fractionDigits = gcnew XmlSchemaFractionDigitsFacet();
        fractionDigits->Value = "1";
        restriction->Facets->Add(fractionDigits);

        RatingType->Content = restriction;

        schema->Items->Add(RatingType);

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

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

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

        element->SchemaType = complexType;

        schema->Items->Add(element);

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

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="RatingType">
		<xs:restriction base="xs:decimal">
		    <xs:totalDigits value="2"/>
			<xs:fractionDigits value="1"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:element name="movie">
		<xs:complexType>
			<xs:attribute name="rating" type="RatingType"/>
		</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: