Mit der Funktion ASBITSTREAM und der Anweisung CREATE kann der Inhalt einer XML-Nachricht verwaltet werden.
Die ASBITSTREAM-Funktion
Wenn Sie bei der Codierung der ASBITSTREAM-Funktion die Parsermodusoption für die Syntaxanalyse einer Nachrichtenbaumstruktur in einen Bitstrom auf 'RootBitStream' setzen, wird ein XML-Dokument ausgegeben, das auf die übliche Weise auf Basis der untergeordneten Elemente des Zielelements erstellt wird. Dieser Algorithmus ist identisch mit dem, der für die Generierung des üblichen Ausgabebitstroms verwendet wird. Da das Zielelement nicht im Ausgabebitstrom enthalten ist, müssen Sie sicherstellen, dass die untergeordneten Elemente des Elements den Einschränkungen für XML-Dokumente entsprechen.
Eine Einschränkung besteht darin, dass die Nachricht nur ein Hauptteilelement enthalten darf. Sie können einen korrekt formatierten Bitstrom verwenden, der auf diese Weise erhalten wurde, um die ursprüngliche Baumstruktur mithilfe einer CREATE-Anweisung und einer PARSE-Klausel erneut zu erstellen.
Wenn Sie bei der Codierung der ASBITSTREAM-Funktion die Parsermodusoption für die Syntaxanalyse einer Nachrichtenbaumstruktur in einen Bitstrom auf 'FolderBitStream' setzen, entspricht der generierte Bitstrom einem XML-Dokument, das auf Basis des Zielelements und dessen untergeordneten Elementen erstellt wird. Alle DocTypeDecl- oder XmlDecl-Elemente werden ignoriert und das Zielelement selbst wird in den generierten Bitstrom aufgenommen.
Der Vorteil dieses Modus liegt darin, dass das Zielelement zum Hauptteilelement des Dokuments wird, und dass das Hauptteilelement mehrere verschachtelte Elemente enthalten kann. Verwenden Sie diesen Modus, um eine Bitstrombeschreibung beliebiger untergeordneter Baumstrukturen zu erhalten, deren Eigner ein XML-Parser ist. Sie können Bitströme verwenden, die auf diese Weise erhalten wurden, um die ursprüngliche Baumstruktur mithilfe einer CREATE-Anweisung, einer PARSE-Klausel und dem Modus 'FolderBitStream' erneut zu erstellen.
Weitere Informationen zur ASBITSTREAM-Funktion sowie einige Beispiele zu ihrer Verwendung finden Sie im Abschnitt ASBITSTREAM-Funktion.
Die CREATE-Anweisung mit einer PARSE-Klausel
Wenn Sie eine CREATE-Anweisung mit einer PARSE-Klausel codieren, bei der die Parsermodusoption für die Syntaxanalyse eines Bitstroms in eine Nachrichtenbaumstruktur auf 'RootBitStream' gesetzt ist, handelt es sich bei dem erwarteten Bitstrom um ein normales XML-Dokument. Für jedes Feld im Dokument wird ein Feld in der Baumstruktur erstellt. Dieser Algorithmus ist identisch mit dem, der für die Syntaxanalyse eines Bitstroms auf Basis eines Empfangsknotens verwendet wird. Insbesondere wird ein Element namens XML, XMLNS oder XMLNSC als Stammelement der Baumstruktur erstellt und der gesamte Nachrichteninhalt wird in Form von untergeordneten Elementen dieses Stammelements erstellt.
Wenn Sie eine CREATE-Anweisung mit einer PARSE-Klausel codieren, bei der die Parsermodusoption für die Syntaxanalyse eines Bitstroms in eine Nachrichtenbaumstruktur auf 'FolderBitStream' gesetzt ist, handelt es sich bei dem erwarteten Bitstrom um ein normales XML-Dokument. Jeglicher Inhalt außerhalb des Hauptteilelements (beispielsweise eine XMLDeklaration oder doctype) wird gelöscht. Das erste Element, das während der Syntaxanalyse erstellt wurde, entspricht dem Hauptteil des XML-Dokuments und von dort aus wird die Syntaxanalyse wie üblich verarbeitet.
Weitere Informationen zu CREATE und zur Verwendung dieser Anweisung finden Sie im Abschnitt CREATE-Anweisung.