Freigeben über


Verwaltung von Codelisten

Überblick

Mithilfe von XSD geben Sie einen bestimmten Wertesatz an, der für ein Element oder Attribut gültig ist. Diese Funktionalität ist mithilfe des Enumerationselements verfügbar. Wenn Sie einen Datentyp für ein Field-Element oder einen Field-Attributknoten durch Einschränkung ableiten, ist eine der Eigenschaften, die Ihnen in der Einschränkungskategorie zur Verfügung stehen, die Enumerationseigenschaft . Mit dieser Eigenschaft können Sie das Dialogfeld Enumerations-Editor öffnen, in dem Sie die Werte eingeben können, die für das entsprechende Element oder Attribut in instance Nachrichten als gültig gelten sollen.

In Microsoft BizTalk Server steht eine andere, vielseitigere Methode zum Verwalten von Enumerationen in Schemas zur Verfügung: Codelisten. Codelisten speichern die Optionen Ihrer verschiedenen Enumerationen in einer Microsoft Access-Datenbank. Dadurch können Sie Enumerationen zentral verwalten. Wenn die Enumerationswerte, die Sie verwenden müssen, aus nicht intuitiven numerischen Codes bestehen, die in dieser Form mithilfe der Enumeration-Eigenschaft eingegeben werden müssen, enthalten die Tabellen, die Sie in einer Access-Datenbank für die Verwendung mit der Codelistenfunktion erstellen, Textbeschreibungen dieser numerischen Werte. Die Textbeschreibungen werden im Dialogfeld CodeList anstelle ihrer eher obskuren numerischen Entsprechungen verwendet.

Verwenden der Codeliste

Um die Codelisten-Funktion verwenden zu können, müssen Sie verschiedene Schritte ausführen:

  • Sie müssen eine Access-Datenbank mit einer entsprechend benannten Tabelle mit den erwarteten Spalten erstellen und diese mit Werten füllen.

    • Der Name der Tabelle ist eine Kombination aus den Eigenschaften Standard und Standardversion des Schemaknotens , getrennt durch einen Unterstrich (_). Wenn Sie beispielsweise die Standard-Eigenschaft des Schemaknotens auf XML und die StandardVersion-Eigenschaft auf MyVersion1 festgelegt haben, muss die Access-Datenbank, die von der CodeList Database-Eigenschaft angegeben wird, eine Tabelle mit dem Namen XML_MyVersion1 aufweisen.

      Weitere Details zu diesen Eigenschaften finden Sie in der Referenz zu API-Namespaces für Entwickler und Anleitungen zur Benutzeroberfläche.

    • Diese Tabelle muss drei Spalten umfassen, normalerweise mit den Namen "Code", "Value" und "Desc". Die erste Spalte identifiziert Zeilen, die miteinander verknüpft sind, wobei jede dieser Zeilen eine der Enumerationsoptionen enthält, die möglicherweise für die Daten zulässig sind, die dem ausgewählten Feldelement - oder Feldattributenknoten entsprechen. Alle Zeilen mit demselben Wert in der ersten Spalte bilden eine Gruppe. Diese Werte sind üblicherweise Ganzzahlen, können jedoch auch Zeichenfolgen sein, die keine Leerzeichen enthalten.

      Die zweite und dritte Spalte jeder Zeile in der Tabelle muss so konfiguriert werden, dass sie den entsprechenden Wert und die Textbeschreibung jedes möglichen Enumerationswertes enthält.

      Die folgende Darstellung einer Access-Datenbanktabelle zur Verwendung mit der Codelisten-Funktion enthält beispielsweise zwei Sätze von drei verwandten Enumerationswerten. Diese spezifischen Werte in der ersten Spalte sind beliebig und werden für die Zuordnung verwandter Zeilen verwendet.

      Code Wert Desc
      1 13 Red
      1 16 Grün
      1 19 Blau
      2 1 Klein
      2 2 Medium
      2 3 Groß
  • Sie müssen drei Eigenschaften des Schemaknotens ordnungsgemäß konfigurieren:

    • Die CodeList Database-Eigenschaft muss auf den Namen der Access-Datenbank festgelegt werden, die Sie erstellt haben.

    • Die Eigenschaften Standard und Standardversion müssen so festgelegt werden, dass sie, wenn sie mit einem trennenden Unterstrich (_) kombiniert werden, den Namen der entsprechenden Tabelle innerhalb der angegebenen Access-Datenbank bilden.

  • Um die Werte in der Access-Datenbank für einen bestimmten ausgewählten Feldelement - oder Feldattributenknoten tatsächlich zu verwenden, müssen Sie zwei seiner Eigenschaften konfigurieren:

    • Sie müssen die abgeleitete By-Eigenschaft auf Einschränkung festlegen. Die andere Eigenschaft, die Sie konfigurieren müssen, CodeList, wird erst aktiviert, wenn Sie diesen Schritt ausführen.

    • Sie müssen einen Wert in die CodeList-Eigenschaft eingeben, der dem Wert in der ersten Spalte (der Codespalte ) einer oder mehrerer Zeilen in der angegebenen Access-Datenbank entspricht. Diese Aktion identifiziert den Satz von Enumerationswerten, die dem ausgewählten Feldelement - oder Feldattributeknoten entsprechen sollen.

      Klicken Sie dann auf die Schaltfläche mit den Auslassungspunkten (...), die sich rechts neben dem CodeList-Eigenschaftswertfeld befindet, um das Dialogfeld CodeList zu öffnen. Wählen Sie mithilfe der Kontrollkästchen in diesem Dialogfeld die Werte aus, die Sie als zulässige Werte für die instance Nachrichtendaten zulassen möchten, die dem ausgewählten Feldelement- oder Feldattributenknoten entsprechen. Sie können nur eine Teilmenge der verfügbaren Werte auswählen. Wenn Sie beispielsweise im obigen Tabellenbeispiel den Wert 1 in die CodeList-Eigenschaft eingeben, enthält das Dialogfeld CodeList die Optionen Rot, Grün und Blau. Wenn Sie die Kontrollkästchen für Rot und Grün aktivieren und nicht das Kontrollkästchen für Blau aktivieren, werden nur die vorherigen Farben in der XSD als gültige Werte für den ausgewählten Feldelement - oder Feldattributenknoten angezeigt.

Hinweis

Die Eigenschaften CodeList und CodeList Database werden nur zur Entwurfszeit verwendet und in der XSD als entsprechende Einstellungen für die Enumeration-Eigenschaft beibehalten. Zur Laufzeit werden alle Werte nur mit der Enumeration-Eigenschaft überprüft.

Achtung

Verwenden Sie für einen angegebenen Field-Element - oder Field-Attributknoten nicht sowohl die Enumeration-Eigenschaft als auch die CodeList-Eigenschaft . Bei Verwendung der Eigenschaft CodeList kann es dazu kommen, dass über die Eigenschaft Enumeration eingegebene Werte überschrieben werden.

Weitere Informationen

Überlegungen beim Erstellen von Schemas