XmlSchemaKeyref XmlSchemaKeyref XmlSchemaKeyref XmlSchemaKeyref Class

定義

このクラスは、W3C (World Wide Web Consortium) によって指定された XML スキーマの keyref 要素を表します。This class represents the keyref element from XMLSchema as specified by the World Wide Web Consortium (W3C).

public ref class XmlSchemaKeyref : System::Xml::Schema::XmlSchemaIdentityConstraint
public class XmlSchemaKeyref : System.Xml.Schema.XmlSchemaIdentityConstraint
type XmlSchemaKeyref = class
    inherit XmlSchemaIdentityConstraint
Public Class XmlSchemaKeyref
Inherits XmlSchemaIdentityConstraint
継承

次の例では、作成、key要素。The following example creates a key element.

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

using namespace System;
using namespace System::Collections;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::Schema;
public ref class XmlSchemaObjectGenerator
{
private:
    static void ValidationCallback( Object^ /*sender*/, ValidationEventArgs^ args )
    {
        if ( args->Severity == XmlSeverityType::Warning )
            Console::Write( "WARNING: " );
        else
            if ( args->Severity == XmlSeverityType::Error )
                Console::Write( "ERROR: " );

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

    // XmlSchemaObjectGenerator
    int main()
    {
        XmlTextReader^ tr = gcnew XmlTextReader( "empty.xsd" );
        XmlSchema^ schema = XmlSchema::Read( tr, gcnew ValidationEventHandler( XmlSchemaObjectGenerator::ValidationCallback ) );
        schema->ElementFormDefault = XmlSchemaForm::Qualified;
        schema->TargetNamespace = "http://www.example.com/Report";
        {
            XmlSchemaElement^ element = gcnew XmlSchemaElement;
            element->Name = "purchaseReport";
            XmlSchemaComplexType^ element_complexType = gcnew XmlSchemaComplexType;
            XmlSchemaSequence^ element_complexType_sequence = gcnew XmlSchemaSequence;
            {
                XmlSchemaElement^ element_complexType_sequence_element = gcnew XmlSchemaElement;
                element_complexType_sequence_element->Name = "region";
                element_complexType_sequence_element->SchemaTypeName = gcnew XmlQualifiedName( "String*","http://www.w3.org/2001/XMLSchema" );
                {
                    XmlSchemaKeyref^ element_complexType_sequence_element_keyref = gcnew XmlSchemaKeyref;
                    element_complexType_sequence_element_keyref->Name = "dummy2";
                    element_complexType_sequence_element_keyref->Selector = gcnew XmlSchemaXPath;
                    element_complexType_sequence_element_keyref->Selector->XPath = "r:zip/r:part";
                    {
                        XmlSchemaXPath^ field = gcnew XmlSchemaXPath;
                        field->XPath = "@number";
                        element_complexType_sequence_element_keyref->Fields->Add( field );
                    }
                    element_complexType_sequence_element_keyref->Refer = gcnew XmlQualifiedName( "pNumKey","http://www.example.com/Report" );
                    element_complexType_sequence_element->Constraints->Add( element_complexType_sequence_element_keyref );
                }
                element_complexType_sequence->Items->Add( element_complexType_sequence_element );
            }
            element_complexType->Particle = element_complexType_sequence;
            {
                XmlSchemaAttribute^ element_complexType_attribute = gcnew XmlSchemaAttribute;
                element_complexType_attribute->Name = "periodEnding";
                element_complexType_attribute->SchemaTypeName = gcnew XmlQualifiedName( "date","http://www.w3.org/2001/XMLSchema" );
                element_complexType->Attributes->Add( element_complexType_attribute );
            }
            element->SchemaType = element_complexType;
            {
                XmlSchemaKey^ element_key = gcnew XmlSchemaKey;
                element_key->Name = "pNumKey";
                element_key->Selector = gcnew XmlSchemaXPath;
                element_key->Selector->XPath = "r:parts/r:part";
                {
                    XmlSchemaXPath^ field = gcnew XmlSchemaXPath;
                    field->XPath = "@number";
                    element_key->Fields->Add( field );
                }
                element->Constraints->Add( element_key );
            }
            schema->Items->Add( element );
        }
        schema->Write( Console::Out );

        return 0;
    } // main
};
using System;
using System.Collections;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.Schema;

public class XmlSchemaObjectGenerator {
  
  

    private static void ValidationCallback(object sender, ValidationEventArgs args ){
  
	if(args.Severity == XmlSeverityType.Warning)
	    Console.Write("WARNING: ");
	else if(args.Severity == XmlSeverityType.Error)
	    Console.Write("ERROR: ");
  
	Console.WriteLine(args.Message);
    }
	                  
            
    public static void Main() {
               
		 
	  XmlTextReader tr = new XmlTextReader("empty.xsd");
        XmlSchema schema = XmlSchema.Read(tr, new ValidationEventHandler(ValidationCallback));
        
            schema.ElementFormDefault = XmlSchemaForm.Qualified;
        
            schema.TargetNamespace = "http://www.example.com/Report";
        
            {
                
        XmlSchemaElement element = new XmlSchemaElement();
        element.Name = "purchaseReport";
        
        XmlSchemaComplexType element_complexType = new XmlSchemaComplexType();
        
        XmlSchemaSequence element_complexType_sequence = new XmlSchemaSequence();
        
            {
                
        XmlSchemaElement element_complexType_sequence_element = new XmlSchemaElement();
        element_complexType_sequence_element.Name = "region";
        element_complexType_sequence_element.SchemaTypeName = 
				new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
			;
        
            {
                
        XmlSchemaKeyref element_complexType_sequence_element_keyref = new XmlSchemaKeyref();
        element_complexType_sequence_element_keyref.Name = "dummy2";
        element_complexType_sequence_element_keyref.Selector = new XmlSchemaXPath();
			element_complexType_sequence_element_keyref.Selector.XPath = "r:zip/r:part";
        
            {
				XmlSchemaXPath field = new XmlSchemaXPath();
				
				field.XPath = "@number";
                element_complexType_sequence_element_keyref.Fields.Add(field);
            }
        element_complexType_sequence_element_keyref.Refer =  
				new XmlQualifiedName("pNumKey", "http://www.example.com/Report")
			;
        element_complexType_sequence_element.Constraints.Add(element_complexType_sequence_element_keyref);
            }
        element_complexType_sequence.Items.Add(element_complexType_sequence_element);
            }
        element_complexType.Particle = element_complexType_sequence;
        
            {
                
        XmlSchemaAttribute element_complexType_attribute = new XmlSchemaAttribute();
        element_complexType_attribute.Name = "periodEnding";
        element_complexType_attribute.SchemaTypeName = 
				new XmlQualifiedName("date", "http://www.w3.org/2001/XMLSchema")
			;
        element_complexType.Attributes.Add(element_complexType_attribute);
            }
        element.SchemaType = element_complexType;
        
            {
                
        XmlSchemaKey element_key = new XmlSchemaKey();
        element_key.Name = "pNumKey";
        element_key.Selector = new XmlSchemaXPath();
			element_key.Selector.XPath = "r:parts/r:part";
        
            {
				XmlSchemaXPath field = new XmlSchemaXPath();
				
				field.XPath = "@number";
                element_key.Fields.Add(field);
            }
        element.Constraints.Add(element_key);
            }
        
                schema.Items.Add(element);
            }
        
	    schema.Write(Console.Out);

         

    }/* Main() */ 

} 
//XmlSchemaObjectGenerator
Imports System
Imports System.Collections
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.Schema

Public Class XmlSchemaObjectGenerator
   
   Private Shared Sub ValidationCallback(sender As Object, args As ValidationEventArgs)
      
      If args.Severity = XmlSeverityType.Warning Then
         Console.Write("WARNING: ")
      Else
         If args.Severity = XmlSeverityType.Error Then
            Console.Write("ERROR: ")
         End If 
      End If
      Console.WriteLine(args.Message)
   End Sub 'ValidationCallback
   
   
   
   Public Shared Sub Main()
      
      
      Dim tr As New XmlTextReader("empty.xsd")
      Dim schema As XmlSchema = XmlSchema.Read(tr, New ValidationEventHandler(AddressOf ValidationCallback))
      
      schema.ElementFormDefault = XmlSchemaForm.Qualified
      
      schema.TargetNamespace = "http://www.example.com/Report"
      
      If (True) Then
         
         Dim element As New XmlSchemaElement()
         element.Name = "purchaseReport"
         
         Dim element_complexType As New XmlSchemaComplexType()
         
         Dim element_complexType_sequence As New XmlSchemaSequence()
         
         If (True) Then
            
            Dim element_complexType_sequence_element As New XmlSchemaElement()
            element_complexType_sequence_element.Name = "region"
            element_complexType_sequence_element.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
            
            If (True) Then
               
               Dim element_complexType_sequence_element_keyref As New XmlSchemaKeyref()
               element_complexType_sequence_element_keyref.Name = "dummy2"
               element_complexType_sequence_element_keyref.Selector = New XmlSchemaXPath()
               element_complexType_sequence_element_keyref.Selector.XPath = "r:zip/r:part"
               
               If (True) Then
                  Dim field As New XmlSchemaXPath()
                  
                  field.XPath = "@number"
                  element_complexType_sequence_element_keyref.Fields.Add(field)
               End If
               element_complexType_sequence_element_keyref.Refer = New XmlQualifiedName("pNumKey", "http://www.example.com/Report")
               element_complexType_sequence_element.Constraints.Add(element_complexType_sequence_element_keyref)
            End If
            element_complexType_sequence.Items.Add(element_complexType_sequence_element)
         End If
         element_complexType.Particle = element_complexType_sequence
         
         If (True) Then
            
            Dim element_complexType_attribute As New XmlSchemaAttribute()
            element_complexType_attribute.Name = "periodEnding"
            element_complexType_attribute.SchemaTypeName = New XmlQualifiedName("date", "http://www.w3.org/2001/XMLSchema")
            element_complexType.Attributes.Add(element_complexType_attribute)
         End If
         element.SchemaType = element_complexType
         
         If (True) Then
            
            Dim element_key As New XmlSchemaKey()
            element_key.Name = "pNumKey"
            element_key.Selector = New XmlSchemaXPath()
            element_key.Selector.XPath = "r:parts/r:part"
            
            If (True) Then
               Dim field As New XmlSchemaXPath()
               
               field.XPath = "@number"
               element_key.Fields.Add(field)
            End If
            element.Constraints.Add(element_key)
         End If
         
         schema.Items.Add(element)
      End If
      
      schema.Write(Console.Out)
   End Sub 'Main 
End Class 'XmlSchemaObjectGenerator 

' Main() 

'XmlSchemaObjectGenerator

上記のコード例では、次の XML ファイルが生成されます。The following XML file is generated for the preceding code example.

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:r="http://www.example.com/Report" elementFormDefault="qualified" targetNamespace="http://www.example.com/Report" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="purchaseReport">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="region" type="xs:string">
          <xs:keyref name="dummy2" refer="r:pNumKey">
            <xs:selector xpath="r:zip/r:part" />
            <xs:field xpath="@number" />
          </xs:keyref>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="periodEnding" type="xs:date" />
    </xs:complexType>
    <xs:key name="pNumKey">
      <xs:selector xpath="r:parts/r:part" />
      <xs:field xpath="@number" />
    </xs:key>
  </xs:element>
</xs:schema>

注釈

属性または要素の値 (または一連の値) が、指定した通信を持つことを指定keyまたはunique要素。Specifies that an attribute or element value (or set of values) has a correspondence with those of the specified key or unique element. 制約名は、スキーマ内で一意である必要があります。The constraint name must be unique within a schema.

コンストラクター

XmlSchemaKeyref() XmlSchemaKeyref() XmlSchemaKeyref() XmlSchemaKeyref()

XmlSchemaKeyref クラスの新しいインスタンスを初期化します。Initializes a new instance of the XmlSchemaKeyref class.

プロパティ

Annotation Annotation Annotation Annotation

annotation プロパティを取得または設定します。Gets or sets the annotation property.

(Inherited from XmlSchemaAnnotated)
Fields Fields Fields Fields

XML Path Language (XPath) 式セレクターの子として適用されるフィールドのコレクションを取得します。Gets the collection of fields that apply as children for the XML Path Language (XPath) expression selector.

(Inherited from XmlSchemaIdentityConstraint)
Id Id Id Id

文字列 ID を取得または設定します。Gets or sets the string id.

(Inherited from XmlSchemaAnnotated)
LineNumber LineNumber LineNumber LineNumber

schema 要素が参照するファイルの行番号を取得または設定します。Gets or sets the line number in the file to which the schema element refers.

(Inherited from XmlSchemaObject)
LinePosition LinePosition LinePosition LinePosition

schema 要素が参照するファイルの行番号を取得または設定します。Gets or sets the line position in the file to which the schema element refers.

(Inherited from XmlSchemaObject)
Name Name Name Name

ID 制約の名前を取得または設定します。Gets or sets the name of the identity constraint.

(Inherited from XmlSchemaIdentityConstraint)
Namespaces Namespaces Namespaces Namespaces

このスキーマ オブジェクトと一緒に使用する XmlSerializerNamespaces を取得または設定します。Gets or sets the XmlSerializerNamespaces to use with this schema object.

(Inherited from XmlSchemaObject)
Parent Parent Parent Parent

この XmlSchemaObject の親を取得または設定します。Gets or sets the parent of this XmlSchemaObject.

(Inherited from XmlSchemaObject)
QualifiedName QualifiedName QualifiedName QualifiedName

QualifiedName プロパティのコンパイル後の値を保持する ID 制約の限定名を取得します。Gets the qualified name of the identity constraint, which holds the post-compilation value of the QualifiedName property.

(Inherited from XmlSchemaIdentityConstraint)
Refer Refer Refer Refer

この制約が別の単純型または複合型で参照するキーの名前を取得または設定します。Gets or sets the name of the key that this constraint refers to in another simple or complex type.

Selector Selector Selector Selector

XPath 式 selector 要素を取得または設定します。Gets or sets the XPath expression selector element.

(Inherited from XmlSchemaIdentityConstraint)
SourceUri SourceUri SourceUri SourceUri

スキーマを読み込んだファイルのソース位置を取得または設定します。Gets or sets the source location for the file that loaded the schema.

(Inherited from XmlSchemaObject)
UnhandledAttributes UnhandledAttributes UnhandledAttributes UnhandledAttributes

現在のスキーマのターゲット名前空間に属さない、修飾された属性を取得または設定します。Gets or sets the qualified attributes that do not belong to the current schema's target namespace.

(Inherited from XmlSchemaAnnotated)

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象