Announcement

Collapse
No announcement yet.

Datenbank-Abfrage mit dynamischen Variablen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbank-Abfrage mit dynamischen Variablen

    Hallo,
    ich bin ein (alter )prozeduraler Programmier und schlage mich seit einiger Zeit mit xml und xslt herum. Jetzt habe ich folgendes Problem:

    In einer XML-Datei steht eine durch einen z.B. <DatenbankQuery> Tag begrenzte Datenbankabfrage. Als Besonderheit sind innerhalb dieses Tags spezielle Wörter enthalten, die durch ein Sonderzeichen, z.B. $, angeführt werden. Diese speziellen Wörter stellen Variablen dar, die durch eine Transformation mit XSL durch Wörter ersetzt werden sollen, die laufzeitspezifisch sind, z.B. das Datum oder die momentane Uhrzeit; etwa so:

    <DatenbankQuery>
    select NOTIFICATION_ID, SOURCE_TIME from NOTIFICATION_BACKUP where SOURCE_TIME > DATE_SUB( SYSDATE(), INTERVAL $timeSpec $timeUnit ) and SRC_PHYS_SYS_INST = '$src_phys_sys_inst' and SOURCE_CLASS = '$source_class';
    <DatenbankQuery>

    Technisch sieht diese Transformation so aus, dass in einem Text-Knoten zunächst die in Frage kommende Textkette bestimmt wird, und dann durch eine xslt-Variable, die bereits im Stylesheet definiert ist, ersetzt wird. Durch eine <xsl:value-of select=...> Transformation mit dieser Variablen soll darüber hinaus das Statement ersetzt werden. Dieser Vorgang soll für alle speziellen Wörter innerhalb des Tags (Elementes) durchgeführt werden.

    Der Pseudokode:

    in allen Elementen
    do <solange, wie noch Wörter mit dem Sonderzeichen da sind>
    if <Wort in einem Textknoten beginnt mit $>
    setze dieses Wort innerhalb <xsl:value-of select=$wort>
    endif
    endo
    end

    Wie seht diese Transformation durch XSLT aus?

    Ludger
Working...
X