Informationen zum Mustercode 'Solar Pattern Authoring'

Mit diesem Beispielcode wird ein Muster für den Sonnenstand erstellt, das verschiedene Uhrzeiten für Sonnenaufgang und -untergang für ein bestimmtes Datum an einer bestimmten Position auf der Erde berechnet.

Das Datum wird in einer WebSphere MQ XML-Nachricht bereitgestellt und die Position wird angegeben, wenn das Muster für den Sonnenstand vom Benutzer des Musters zum Generieren einer Instanz verwendet wird. Für jede Instanz des Musters wird die Positionsvariable angegeben.

Die Ausgabe ist eine WebSphere MQ XML-Nachricht mit den folgenden Einzelheiten:

Mit dem Mustercode 'Solar Pattern Authoring' werden die folgenden Funktionen zum Erstellen eines Muster gezeigt:

Zieleigenschaften
Benutzerdefinierte Eigenschaften als Zieleigenschaften in einem Muster präsentieren.
Aufzählungen
Eine Aufzählung erstellen, die als Dropdown-Liste dargestellt wird. Die Werte der Aufzählung enthalten den Breiten- und Längengrad und werden durch ein Leerzeichen getrennt.
Untergeordnete Nachrichtenflüsse für Umsetzungen
Verwendung von XPath-Zeichenfolgeausdrücken, um den Breiten- und Längengrad aus der Aufzählung zu extrahieren und die Zieleigenschaften Breitengrad und Längengrad in Parameter zu ändern.
Aktivierung
Verwendung von XPath-Zeichenfolgeausdrücken, um die Zieleigenschaften Breitengrad und Längengrad zu aktivieren, wenn als Aufzählung die Option Angepasster Bereich ausgewählt ist, und sie zu deaktivieren, wenn ein Bereich aus der Aufzählung ausgewählt ist.

Dieser Mustercode verwendet einen Nachrichtenfluss und führt folgende Aktionen aus:

  1. Ein MQInput-Knoten empfängt eine XML-Nachricht mit einem Datum in der koordinierten Weltzeit aus der WebSphere MQ-Warteschlange 'SOLAR'.
  2. Ein PHPCompute-Knoten extrahiert das Datum aus der eingehenden Nachricht, erfasst die Werte für Breitengrad und Längengrad aus den benutzerdefinierten Eigenschaften, berechnet die Uhrzeit für Sonnenaufgang und Sonnenuntergang und hängt diese an die XML-Nachricht an.
  3. Ein MQOutput-knoten sendet die erweiterte XML-Nachricht an die WebSphere MQ-Warteschlange SUNSETSUNRISETIMES.

XML-Schema für die Nachricht

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://caspian.hursley.ibm.com"
  xmlns:solar="http://caspian.hursley.ibm.com" elementFormDefault="qualified">
  <element name="sun">
    <complexType>
      <sequence>
        <element name="dateQuery" type="date"/>
        <element name="sunEventTime" minOccurs="0" maxOccurs="1">
          <complexType>
            <sequence>
              <element name="sunrise" type="date"/>
              <element name="sunset" type="date"/>
              <element name="transit" type="date"/>
              <element name="civil_twilight_begin" type="date"/>
              <element name="civil_twilight_end" type="date"/>
              <element name="nautical_twilight_begin" type="date"/>
              <element name="nautical_twilight_end" type="date"/>
              <element name="astronomical_twilight_begin" type="date"/>
              <element name="astronomical_twilight_end" type="date"/>
            </sequence>
          </complexType>
        </element>
      </sequence>
    </complexType>
  </element>
</schema>

XML-Beispiel der Eingabenachricht

<?xml version="1.0" encoding="UTF-8"?>
<solar:sun xmlns:solar="http://caspian.hursley.ibm.com"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://caspian.hursley.ibm.com solar.xsd">
  <solar:dateQuery>2010-04-15</solar:dateQuery>
</solar:sun>

Zurück zum Beginn des Mustercodes