Aktivieren Sie bitte JavaScript, um diese Seite anzeigen zu können.

Altova MapForce 2020 Professional Edition

Mit Hilfe der Wildcards xs:any (und xs:anyAttribute) können Sie any-Elemente/Attribute aus Schemas verwenden. In der Abbildung sehen Sie das "any" Element in der Schema-Ansicht von XMLSpy.

 

any

 

In MapForce wird rechts vom xs:any-Element (oder xs:anyAttribute) eine Auswahl ändern-Schaltfläche ( excel1-compicon )  angezeigt.

 

anyInMapforce

 

Wenn Sie auf die Auswahl ändern-Schaltfläche excel1-compicon klicken, wird das Dialogfeld "Wildcard-Auswahl" geöffnet. Die Einträge in der Liste sind die im aktuellen Schema deklarierten globalen Elemente und Attribute.

anyGlobelements

Wenn Sie eines oder mehrere der Kontrollkästchen aktivieren und auf OK klicken, wird dieses Element/Attribut (und etwaige Child-Nodes) in die Komponente eingefügt. Die Wildcard-Elemente oder -Attribute werden direkt nach dem Node, auf dessen Auswahl ändern-Schaltfläche ( excel1-compicon ) geklickt wurde, eingefügt.

anyFromLocal

Sie können diese Nodes wie bei jedem anderen Element von/auf andere Nodes mappen.

 

Die Wildcard-Elemente oder -Attribute in einer Komponente erkennt man an dem an den Namen angehängten (xs:any)-Text.

 

Um ein Wildcard-Element zu entfernen, klicken Sie auf die Schatfläche Auswahl ändern ( excel1-compicon ) und deaktivieren Sie es anschließend im Dialogfeld "Wildcard-Auswahl"

 

Wildcards und dynamische Node-Namen

Daten von oder auf Wildcards zu mappen, eignet sich im Allgemeinen in den Fällen, in denen alle möglichen Elemente oder Attribute, die in der XML-Instanz vorkommen, im XML-Schema der Komponente deklariert sind (oder aus einem externen Schema importiert werden können). In manchen Situationen sind die Elemente oder Attribute, die in einer Instanz vorkommen, jedoch zu zahlreich, um im Schema deklariert zu werden. Werfen Sie einen Blick auf folgendes Beispiel, in dem die Anzahl der Child-Elemente von <message> beliebig ist:

 

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <line1>1</line1>
  <line2>2</line2>
  <line3>3</line3>
  ................
  <line999></line999>  
</message>

 

Verwenden Sie für solche Situationen anstelle von Wildcards den dynamischen Zugriff auf Node-Namen (siehe Mappen von Node-Namen).

 

Hinzufügen von Elementen aus einem anderen Schema als Wildcards

Elemente, die aus einem anderen Schema als dem der Komponente zugewiesenen stammen, können ebenfalls als Wildcards verwendet werden. Um solche Elemente in der Komponente sichtbar zu machen, klicken Sie im Dialogfeld "Wildcard-Auswahl" auf die Schaltfläche Anderes Schema importieren. Daraufhin wird ein neues Dialogfeld geöffnet, in dem zwei Optionen zur Wahl stehen:

 

1.Schema importieren

2.Wrapper-Schema generieren

 

In der Abbildung unten sehen Sie z.B. was passiert, wenn Sie versuchen, ein externes Schema namens HasExpenses.xsd in ein aktuelles, der Komponente zugewiesenes Schema zu importieren.

mff_dlg_import_schema

Mit der Option Schema importieren wird das externe Schema in das der Komponente zugewiesene Schema importiert. Beachten Sie, dass mit dieser Option das vorhandene Schema der Komponente auf der Festplatte ersetzt wird. Wenn es sich beim aktuellen Schema nicht um ein entferntes über eine URL geöffnetes Schema (siehe Hinzufügen von Komponenten über eine URL) handelt und das Schema nicht von der lokalen Festplatte stammt, kann es nicht geändert werden. Verwenden Sie in diesem Fall die Option Wrapper-Schema generieren.

 

Mit der Option Wrapper-Schema generieren wird eine neue als Wrapper-Schema bezeichnete Schema-Datei erstellt. Der Vorteil bei dieser Option ist, dass das bestehende Schema der Komponente nicht geändert wird. Stattdessen wird ein neues Schema, das so genannte Wrapper-Schema, erstellt. Dieses Schema enthält sowohl das vorhandene Schema als auch das Schema, das importiert werden soll. Wenn Sie diese Option auswählen, werden Sie gefragt, wo das Wrapper-Schema gespeichert werden soll. Standardmäßig erhält das Wrapper-Schema einen Namen in der Form dateiname-wrapper.xsd. Nachdem Sie das Wrapper-Schema gespeichert haben, wird es der Komponente standardmäßig automatisch zugewiesen und es wird das folgende Dialogfeld angezeigt:

mff_dlg_wrapper_schema_assign

Klicken Sie auf Ja, um zum vorherigen Schema zurückzuwechseln oder auf Nein, damit das neu erstellte Wrapper-Schema der Komponente zugewiesen wird.

© 2019 Altova GmbH