Freigeben über


Heraufstufen von Eigenschaften

Die Heraufstufung von Eigenschaften umfasst entweder die Heraufstufung von Feldelement - oder Feldattributeknoten in einem Schema zu Distinguished Fields oder Property Fields. Sie können Datensatzknoten auch als Eigenschaftenfelder heraufstufen, wenn sie über einfachen Inhalt verfügen (Inhaltstypeigenschaft des Knotens Datensatz , der auf SimpleContent festgelegt ist). Dieser Abschnitt enthält schrittweise Anweisungen zum Höherstufen von Knoten als Distinguished Fields oder als Eigenschaftenfelder.

Wenn Sie einen Datensatz (mit einfachem Inhalt), ein Feldelement oder einen Feldattribute-Knoten als Eigenschaftenfeld heraufstufen möchten, können Sie zunächst einen speziellen Typ von Schema definieren, das als Eigenschaftenschema bezeichnet wird. Eigenschaftenschemas definieren einen unstrukturierten Satz von Feldelementknoten , in den Sie Die Knoten Datensatz (mit einfachem Inhalt), Feldelement oder Feldattribute heraufstufen. Schritt-für-Schritt-Anweisungen zum Erstellen eines Eigenschaftenschemas finden Sie unter Erstellen von Eigenschaftenschemas.

Alternativ können Sie die Schnellaufstufungsfunktion verwenden, die automatisch ein einzelnes Eigenschaftenschema erstellt und aktualisiert, wenn Sie einen neuen Feldelement-, Feldattribute- oder Datensatzknoten (mit einfachem Inhalt) heraufstufen.

Hinweis

Sie können ein Feld sowohl als Distinguished Field als auch als Eigenschaftenfeld heraufstufen.

Hinweis

Die Schnellaufstufungsfunktion ändert das Eigenschaftenschema, indem eine neue Eigenschaft mit dem Namen des heraufgestuften Knotens eingefügt wird.

Wichtig

Nach dem Heraufstufen eines Felds im Schema sollten Sie dieses nicht verschieben oder umbenennen. Wenn Sie ein Schemafeld verschieben oder umbenennen, wird der XPath, der die Position des höher gestuften Felds definiert, von BizTalk Server nicht aktualisiert.

XSD- und CLR-Datentypen

Gelegentlich (z. B. bei der Eigenschaftsheraufstufung) werden XSD-Datentypen auf CLR-Datentypen (Common Language Runtime) höher gestuft. In der folgenden Tabelle sind die XSD-Datentypen, die höher gestuft werden können, sowie die entsprechenden CLR-Datentypen aufgeführt.

XSD-Datentyp CLR-Datentyp
anyURI Zeichenfolge
Boolean Boolean
Byte sbyte
Date Datetime
dateTime Datetime
Decimal Decimal
Double Double
ENTITY String
Float Single
gDay Datetime
gMonth Datetime
gMonthDay Datetime
gYear Datetime
gYearMonth Datetime
id String
IDREF String
Int Int32
Integer Decimal
Sprache String
Name String
NCName String
negativeInteger Decimal
NMTOKEN String
nonNegativeInteger Decimal
nonPositiveInteger Decimal
normalizedString String
NOTATION String
positiveInteger Decimal
QName String
Short Int16
String String
Time Datetime
Token String
unsignedByte Byte
unsignedInt UInt32
unsignedShort UInt16

Hinweis

Für die XSD-Datentypen base64Binary, duration, ENTITES, hexBinary, IDREFS, long, NMTOKENS und unsignedLong wird die Heraufstufung nicht unterstützt.

Einschränkungen für das Heraufstufen von Eigenschaften

Beachten Sie beim Heraufstufen von Eigenschaften folgende Aspekte:

  • Höher gestufte Eigenschaften dürfen maximal 256 Zeichen lang sein. Für geschriebene Eigenschaften gibt es hingegen keine Längenbeschränkung.

  • Höher gestufte Eigenschaften werden beim Nachrichtenrouting verwendet und unterliegen aus Effizienzgründen hinsichtlich des Vergleichs und der Speicherung einer Längenbeschränkung. Geschriebene Eigenschaften haben zwar keine Größenbeschränkungen, die Verwendung besonders langer Werte kann sich jedoch negativ auf die Leistung auswirken, da diese Werte verarbeitet und mit der Nachricht übergeben werden müssen. Gekennzeichnete Felder sind Beispiele geschriebener Eigenschaften.

  • Datensatzknoten können niemals als Distinguished Fields heraufgestuft werden.

  • Sich wiederholende Elemente/Attribute können nicht höher gestuft werden.

  • Felder, die demselben Stammknoten angehören, dürfen nicht auf dieselbe Eigenschaft höher gestuft werden. Heraufstufungen dieser Art führen zu Fehlern beim Kompilieren oder bei der Bereitstellung.

  • Innerhalb eines Nachrichtenkontexts gibt es verschiedene Eigenschaften, die seit ihrer Heraufstufung nicht verfügbar sind. Die BTS.ReceiveLocationName-Eigenschaft ist eine solche Eigenschaft. Wenn Sie Ihrem Entwicklungsprojekt ein neues Eigenschaftenschema oder ein neues BizTalk Server-Projekt hinzufügen können, ist es auch möglich, in einer Orchestrierung auf diese Eigenschaft zuzugreifen.

    Eigenschaftenwerte werden anhand des Zielnamespaces und des Namens der Eigenschaft bestimmt. Das folgende Beispiel veranschaulicht den Zugriff auf den Empfangsspeicherort im Code.

    string receiveLocationName = pInMsg.Context.Read("ReceiveLocationName", sysNamespace);

In diesem Abschnitt