Ankündigung

Einklappen
Keine Ankündigung bisher.

xxAPI XML als Tabelle anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    xxAPI XML als Tabelle anzeigen

    Sorry, hab den Überblick verloren ob ich das jetzt geträumt oder irgendwo gelesen habe:
    XML-Daten einfach als Tabelle anzeigen, da war doch was ?

    Hab heute die arbeiten an der Visu wiederaufgenommen, ich gelobe Besserung

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    #2
    Xslt

    Ja ich hab sowas im Hinterkopf

    Das ist dir bestimmt bei der LCARS Universalzeituhr irgendwo über den Weg gelaufen.

    Ich hatte das schon mal in irgendeiner alpa/beta drin, das ich das XML von Meldungsarchiv,Universalzeituhr,Buddyliste als pures XML ausgegeben hab.

    Sinn mach das eigentlich nur wenn man das auch so darstellt wie man möchte (z.B. LCARS Zeitschaltuhr).

    Welche XML Daten willst du denn darstellen? HS-interne oder andere?

    XSLT wäre da doch sicher ne saubere Lösung
    XSLT on the Client

    mal sehen wie groß der Code wird wenns passt kommts in die 1.0 sonst in eine appID.
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    Kommentar


      #3
      Dann bin ich ja beruhigt, solange ich das nicht komplett geträumt habe
      Externe Daten (in dem Fall konkret: Anruferliste aus Asterisk ohne parsen per Dumm-dumm-klicken, 50 iKOs anlegen etc.pp.)
      Oder externe Wert-Archive aus RRD-Files, die Daten kann ich ja in dem Fall formatieren, wie es mir beliebt und es tut mir halt immernoch in der Seele weh, bereits strukturierte Daten aus SQL&Co in CSV o.ä. zu exportieren und dann Wert für Wert wieder in HS zu parsen, nur damit man sie passend auf die Visu bekommt.
      XSLT klingt gut, zwar wie so oft bisher nur von gehört aber alles was von Übertragen-Warten-Ausprobieren wegführt finde ich gut. Ein XSL-transform könnte man zu den Daten natürlich jew. erstellen..

      Makki
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #4
        cross-domain

        Externe Daten (in dem Fall konkret: Anruferliste aus Asterisk ohne parsen per Dumm-dumm-klicken, 50 iKOs anlegen etc.pp.)
        Na das mach die Sache ja deutlich einfacher
        Ich glaube das wird nix. Ich hab zwar schon ein bisschen was hingekriegt aber das ist Schwachsinn.

        XHR geht gar nicht Cross-Domain - IFRAME geht aber der Content ist nicht per Script erreichbar - Es gibt diverse Hacks mit nested IFRAMES und Querystrings aber da muss dann JS auf den zu ladenden Seiten sein und die Browserentwickler werden da konsequent gegen an arbeiten.(=dauerBaustelle) Also lassen wir das.

        Alternative: Einen Proxy auf den HS (keinen echten sondern, sondern nur per python querystring auswerten abfrage per python und ausgabe)
        Möglich wäre das als Logikbaustein oder am allerbesten direct im HS (http://meinHS/proxy?cmd=GET&code=XX7....net/daten.xml )
        dann wäre der Request auch authorisiert und kein Sicherheitsloch

        oder gleich auf dem Externen Server die Daten per PHP als HTML parsen und mittels XXIFRAME einbinden

        XML vom HS darszustellen (Uhr,Medlungsarchiv,Buddy) sollte hingegen kein Problem sein
        Nils

        aktuelle Bausteine:
        BusAufsicht - ServiceCheck - Pushover - HS-Insight

        Kommentar


          #5
          So ich hab schon mal einen parser für die Universalzeituhr gebaut.


          PHP-Code:
          <?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
          <xsl:template match="/">
            <style type="text/css">
              .aktiv { color: red; }
              .datum { width: 140px; text-align: center; background-color: green;}
              .never { width: 100%;background-color: red;}
              .zeit { width: 80px; text-align: center; background-color: yellow;}
              .aktion { width : 80px; text-align: center; background-color: orange;}
            </style>
            <span class="aktiv">
              <xsl:apply-templates select="HS/PAG" />
            </span>
            <table border="0" cellspacing="0" cellpadding="0" style="font-size: x-large;">
             <xsl:apply-templates select="HS/UHR" />
            </table>
            </xsl:template>
            <xsl:template match="PAG">
              <xsl:if test="@aktiv=1">Aktiv</xsl:if>
              <xsl:if test="@aktiv=0">Inaktiv</xsl:if>
            </xsl:template>
            <xsl:template match="EVT">
                  <tr>
                    <td class="datum">
                      <xsl:choose>
                      <xsl:when test="@datum='Mo,Di,Mi,Do,Fr,Sa,So'">täglich</xsl:when>
                      <xsl:when test="@datum='Mo,Di,Mi,Do,Fr'">werktags</xsl:when>
                      <xsl:when test="@datum='Sa,So'">wochenende</xsl:when>
                      <xsl:when test="@datum='Keine Tage'"><div class="never">Nie</div></xsl:when>
                      <xsl:otherwise>
                        <xsl:value-of select="@datum" />
                      </xsl:otherwise>
                      </xsl:choose>
                    </td>
                    <td class="zeit">
                      <xsl:value-of select="substring-before(@zeit,' Uhr')" />
                    </td>
                    <td class="aktion">
                      <xsl:value-of select="@aktion" />
                    </td>
                  </tr>
            </xsl:template>
          </xsl:stylesheet>
          so sieht das XSLT aus
          Nils

          aktuelle Bausteine:
          BusAufsicht - ServiceCheck - Pushover - HS-Insight

          Kommentar

          Lädt...
          X