Erkennung des äußeren Satzes
Wenn eine req=set
-Anfrage empfangen wird, wird der Typ der zu generierenden Antwort durch den Wert von catalog::AssetType
bestimmt. Wenn catalog::AssetType
nicht definiert ist, wird der Antworttyp durch die folgenden Regeln bestimmt:
-
Wenn der Datensatz im Bildkatalog gefunden wird UND
catalog::ImageSet
definiert ist- Angenommen, E-Katalog-Set, wenn mindestens ein Eintrag im Feld „Bildset“ einen Doppelpunkt enthält
- Angenommen, ein Medienset ist vorhanden, wenn mindestens ein Eintrag im Feld „Bildset-Datensatz“ zwei Semikolons enthält.
- Angenommen, ein Bildset wird verwendet, wenn mindestens ein Eintrag im Feld „Bildset-Datensatz“ ein Semikolon enthält.
- Angenommen, ein Rotationsset wird verwendet, wenn kein Eintrag einen Doppelpunkt oder Semikolon enthält, aber mindestens ein Eintrag ein referenziertes Set oder Inline-Set enthält (dies ist ein 2D-Rotationsset).
- Angenommen, ein unbekannter Satz liegt vor, wenn kein Eintrag einen Doppelpunkt, ein Semikolon, einen referenzierten Satz oder einen Inline-Satz enthält (d. h. eine durch Kommas getrennte Liste von Bildern).
-
Wenn der Datensatz sowohl in Bild- als auch in statischen Inhaltskatalogen gefunden wird
- Angenommen, Video, wenn die Dateierweiterung im folgenden Satz vorhanden ist: mp3, mp4, flv, f4v, swf, xml
- Ansonsten Bild annehmen
-
Wenn der Datensatz im statischen Inhaltskatalog, aber NICHT im Bildkatalog gefunden wird
- Angenommen, Video, wenn die Dateierweiterung im folgenden Satz vorhanden ist: mp3, mp4, flv, f4v, swf, xml
- Ansonsten „statisch“ annehmen
-
Wenn ein Datensatz im Bildkatalog, aber NICHT im statischen Inhaltskatalog gefunden wird
- Bild annehmen
-
Wenn der Datensatz NICHT im Bildkatalog und NICHT im statischen Inhaltskatalog gefunden wird
- Angenommen, die Dateierweiterung basiert auf Video, wenn sie wie folgt festgelegt ist: mp3, mp4, flv, f4v, swf, xml
- Angenommen, das dateibasierte Bild ist anders
In allen Fällen entspricht die resultierende XML-Antwort dem angegebenen XML-Dokument, wobei der Stammknoten dem erkannten Typ entspricht.
Erkennung des inneren Satztyps
Wenn das äußere Set als Typ „Medienset“ erkannt wird, enthält die Antwort einen Satz von Medienset-Elementen, die jedem Medienset-Eintrag in catalog::ImageSet
entsprechen. Wenn der optionale Typparameter für einen bestimmten Mediensatzeintrag angegeben ist, wird er gemäß der folgenden Tabelle einem Ausgabetyp zugeordnet:
Eingabetyp | Ausgabetyp |
---|---|
img | img |
basic | img |
advanced_image | img |
img_set | img_set |
advanced_image_set | img_set |
advanced_swatchset | img_set |
spin | spin |
video | video |
video_set | video_set |
static | static |
ecat | ecat |
Wenn der optionale Typparameter für einen bestimmten Mediensatzeintrag nicht angegeben ist oder einem nicht unterstützten Typ entspricht, wird der Elementtyp des Mediensatzes automatisch anhand derselben Regeln erkannt, die auf der Ebene des äußeren Satzes angewendet wurden.
XML-Spezifikation
Die zurückgegebene XML-Antwort entspricht der folgenden Spezifikation:
http://crc.scene7.com/is-docs/examples/mediaset.dtd
LabelKey
Der Modifikator labelkey=
wird zusammen mit dem Feld catalog::UserData
verwendet, um Beschriftungen für Bilder und Farbfelder zu generieren. Das catalog:UserData
Feld wird als Satz von Schlüssel/Wert-Paaren geparst und der labelKey indiziert in diesem Satz, um den Wert für den angegebenen Schlüssel abzurufen. Dieser Wert wird dann im l
-Attribut für die s
und i
zurückgegeben.
Erzwungene Einschränkungen
Um die Größe der Antwort zu begrenzen und Probleme mit Selbstverweisen zu vermeiden, wird die maximale Verschachtelungstiefe durch die Server-Eigenschaft PS::fvctx.nestingLimit
gesteuert. Wenn diese Grenze überschritten wird, wird ein Fehler zurückgegeben.
Um die Größe der XML-Antworten für große E-Katalog-Sets zu begrenzen, werden private Metadaten für Broschüren-Set-Elemente gemäß der Server-Eigenschaft PS::fvctx.brochureLimit
unterdrückt. Alle mit der Broschüre verknüpften privaten Metadaten werden exportiert, bis das Limit für die Broschüre erreicht ist. Nachdem das Limit überschritten wurde, werden private Zuordnungen und Benutzerdaten unterdrückt und ein entsprechendes Flag gesetzt, um anzugeben, welcher Datentyp unterdrückt wurde.
Verschachtelte Mediensets werden nicht unterstützt. Ein verschachteltes Medienset wird als Medienset definiert, das ein Medienset-Element des Typs Medienset enthält. Wenn dieser Zustand erkannt wird, wird ein Fehler zurückgegeben.
Beispiele
XML-Beispielantworten für req=set
Anfrage finden Sie auf der Seite „Eigenschaften“ unter der Überschrift "HTML-Beispiele“.
http://crc.scene7.com/is-docs/examples/properties.htm