次の方法で共有


XmlSchemaSimpleContent クラス

単純なコンテンツ モデルを持つ単純型および複合型のクラス。W3C (World Wide Web Consortium) simpleContent 要素を表します。

この型のすべてのメンバの一覧については、XmlSchemaSimpleContent メンバ を参照してください。

System.Object
   System.Xml.Schema.XmlSchemaObject
      System.Xml.Schema.XmlSchemaAnnotated
         System.Xml.Schema.XmlSchemaContentModel
            System.Xml.Schema.XmlSchemaSimpleContent

Public Class XmlSchemaSimpleContent
   Inherits XmlSchemaContentModel
[C#]
public class XmlSchemaSimpleContent : XmlSchemaContentModel
[C++]
public __gc class XmlSchemaSimpleContent : public
   XmlSchemaContentModel
[JScript]
public class XmlSchemaSimpleContent extends XmlSchemaContentModel

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

XmlSchemaSimpleContent は、新しい型のコンテンツ モデルが文字データだけを含み、要素を含まないことを示すために使用されます。これは、 XmlSchemaSimpleContentExtension または XmlSchemaSimpleContentRestriction を通じて行われます。

使用例

[Visual Basic, C#, C++] XmlSchemaSimpleContent クラスの例を次に示します。

 
Option Explicit
Option Strict

Imports System
Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    
    Public Shared Sub Main()
        
        Dim schema As New XmlSchema()
        
        ' <xs:element name="generalPrice">
        Dim generalPrice As New XmlSchemaElement()
        generalPrice.Name = "generalPrice"
        
        ' <xs:complexType>
        Dim ct As New XmlSchemaComplexType()
        
        ' <xs:simpleContent>
        Dim simpleContent As New XmlSchemaSimpleContent()
        
        ' <xs:extension base="xs:decimal">
        Dim simpleContent_extension As New XmlSchemaSimpleContentExtension()
        simpleContent_extension.BaseTypeName = New XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema")
        
        ' <xs:attribute name="currency" type="xs:string" />
        Dim currency As New XmlSchemaAttribute()
        currency.Name = "currency"
        currency.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        simpleContent_extension.Attributes.Add(currency)
        
        simpleContent.Content = simpleContent_extension
        ct.ContentModel = simpleContent
        generalPrice.SchemaType = ct
        
        schema.Items.Add(generalPrice)
        
    schema.Compile(AddressOf ValidationCallbackOne)
    Dim nsmgr As New XmlNamespaceManager(New NameTable())
    nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
    schema.Write(Console.Out, nsmgr)
    End Sub 'Main
    
    Public Shared Sub ValidationCallbackOne(sender As Object, args As ValidationEventArgs)

        Console.WriteLine(args.Message)
    End Sub 'ValidationCallbackOne
End Class 'XMLSchemaExamples

[C#] 
using System;
using System.Xml;  
using System.Xml.Schema;

class XMLSchemaExamples {
    public static void Main() {
 
        XmlSchema schema = new XmlSchema();
   
        // <xs:element name="generalPrice">
        XmlSchemaElement generalPrice = new XmlSchemaElement();
        generalPrice.Name = "generalPrice";

        // <xs:complexType>
        XmlSchemaComplexType ct = new XmlSchemaComplexType();

        // <xs:simpleContent>
        XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent();
        
        // <xs:extension base="xs:decimal">
        XmlSchemaSimpleContentExtension simpleContent_extension = new XmlSchemaSimpleContentExtension();
        simpleContent_extension.BaseTypeName = new XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema");

        // <xs:attribute name="currency" type="xs:string" />
        XmlSchemaAttribute currency = new XmlSchemaAttribute();
        currency.Name = "currency";
        currency.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        simpleContent_extension.Attributes.Add(currency);

        simpleContent.Content = simpleContent_extension;
        ct.ContentModel = simpleContent;
        generalPrice.SchemaType = ct;

        schema.Items.Add(generalPrice);
           
        schema.Compile(new ValidationEventHandler(ValidationCallbackOne));
     XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
        schema.Write(Console.Out, nsmgr);
    }

    public static void ValidationCallbackOne(object sender, ValidationEventArgs args) {

        Console.WriteLine(args.Message);
    }
}

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;  
using namespace System::Xml::Schema;

__gc class XMLSchemaExamples {
public:
    static void main() {
 
        XmlSchema* schema = new XmlSchema();
   
        // <xs:element name="generalPrice">
        XmlSchemaElement* generalPrice = new XmlSchemaElement();
        generalPrice->Name = S"generalPrice";

        // <xs:complexType>
        XmlSchemaComplexType* ct = new XmlSchemaComplexType();

        // <xs:simpleContent>
        XmlSchemaSimpleContent* simpleContent = new XmlSchemaSimpleContent();
        
        // <xs:extension base="xs:decimal">
        XmlSchemaSimpleContentExtension* simpleContent_extension = new XmlSchemaSimpleContentExtension();
        simpleContent_extension->BaseTypeName = new XmlQualifiedName(S"decimal", S"http://www.w3.org/2001/XMLSchema");

        // <xs:attribute name="currency" type="xs:string" />
        XmlSchemaAttribute* currency = new XmlSchemaAttribute();
        currency->Name = S"currency";
        currency->SchemaTypeName = new XmlQualifiedName(S"string", S"http://www.w3.org/2001/XMLSchema");
        simpleContent_extension->Attributes->Add(currency);

        simpleContent->Content = simpleContent_extension;
        ct->ContentModel = simpleContent;
        generalPrice->SchemaType = ct;

        schema->Items->Add(generalPrice);
           
        schema->Compile(new ValidationEventHandler(0, ValidationCallbackOne));
     XmlNamespaceManager* nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr->AddNamespace(S"xs", S"http://www.w3.org/2001/XMLSchema");
        schema->Write(Console::Out,nsmgr);
    }

    static void ValidationCallbackOne(Object* /*sender*/, ValidationEventArgs* args) {

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

int main()
{
    XMLSchemaExamples::main();
}

[Visual Basic, C#, C++] 前述のコード例に対して生成される XML ファイルを次に示します。

<?xml version="1.0" encoding="IBM437"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="generalPrice">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:decimal">
            <xs:attribute name="currency" type="xs:string" />
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
</xs:schema>

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Xml.Schema

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Xml (System.Xml.dll 内)

参照

XmlSchemaSimpleContent メンバ | System.Xml.Schema 名前空間