[GastForen Programmierung/Entwicklung PHP und MySQL xslt - Feldformatierungen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

xslt - Feldformatierungen

Neuling1234
Beiträge gesamt: 2

30. Sep 2018, 20:45
Beitrag # 1 von 3
Bewertung:
(8391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich bin in der html-Progammierung nicht so wissend.

Ein bestehendes Programm habe ich um eigene Felder erweitert, diese werden auch angezeigt.

Nun möchte ich diese Anzeige noch formatieren und weiss nicht so recht wie.

Hier erstmal der Programmausschnitt:

Code
  <xslt:template name="Company"> 
<xslt:param name="Company"/>
<xslt:param name="Department"/>
<xslt:param name="CustomerID"/>
<xslt:param name="Custom0"/>
<xslt:param name="Custom1"/>
<xslt:param name="Custom2"/>
<xslt:param name="Custom3"/>
<xslt:param name="Custom4"/>
<xslt:param name="Custom5"/>
<xslt:param name="Custom6"/>
<xslt:if test="$Company != ''">
<tr><td class="boldfont"><xslt:value-of select="concat($Company, ' ', $Department)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($CustomerID) != ''">
<tr><td><xslt:value-of select="concat('laufende Nr.: ', $CustomerID)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom0) != ''">
<tr><td><xslt:value-of select="concat('Anzahl: ', $Custom0)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom1) != ''">
<tr><td><xslt:value-of select="concat('letzter Kontakt: ', $Custom1, ' ', $Custom2)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom3) != ''">
<tr><td><xslt:value-of select="concat('App: ', $Custom3)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom4) != ''">
<tr><td><xslt:value-of select="concat('offene ZU: ', $Custom4)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom5) != ''">
<tr><td><xslt:value-of select="concat('Format: ', $Custom5)"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom6) != ''">
<tr><td><xslt:value-of select="concat('Notiz: ', $Custom6)"/></td></tr>
</xslt:if>
</xslt:template>


folgende Formatierungen möchte ich nun noch vornehmen:

- Die Texte, wie z.B. "laufende Nr.:", sollen Fett geschrieben werden (der folgende Variableninhalt aber nicht).

- zwischen den Feldern "Custom1" und "Custom2" sollen 3 Leerzeichen sein (egal wieviel man vorgibt, in der Ausgabe erscheint immer nur eines).

- das Feld "Custom2" ist ein Datum und die Ausgabe erfolgt im Format: "2018-09-30 00:00:00.0", ich hätte gern "30.09.2018".

- das Feld "Custom0" ist eine Ganzzahl, diese hätte ich gern mit Tausenderpunkt.

- und wenn man den Variablenfelder noch spaltenmäßig den gleichen Anfangspunkt geben könnte, dann wäre es perfekt.


vielleicht hat ein Experte für die Eine oder Andere Sache eine Lösung parat. Das wäre supertoll!

LG vom Neuling
X

xslt - Feldformatierungen

crisies
  
Beiträge gesamt: 110

2. Okt 2018, 21:43
Beitrag # 2 von 3
Beitrag ID: #566652
Bewertung:
(8349 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Neuling,

Das ist generell kein HTML sondern XSL(T) und darüber macht man aus XML etwas anderes (hier in Deinem Fall wiederum HTML). Wichtiger als HTML wäre hier das Wissen zu XML, XSLT + XPATH usw.

Was ich aber generell sagen kann, warum machst Du nicht alles was HTML ist, ausserhalb der XSLT Tags? Als Beispiel:

Antwort auf: - Die Texte, wie z.B. "laufende Nr.:", sollen Fett geschrieben werden (der folgende Variableninhalt aber nicht).


Code
    <xslt:if test="normalize-space($CustomerID) != ''">  
<tr><td><b>laufende Nr.:</b> <xslt:value-of select="$CustomerID"/></td></tr>
</xslt:if>


Antwort auf: - zwischen den Feldern "Custom1" und "Custom2" sollen 3 Leerzeichen sein (egal wieviel man vorgibt, in der Ausgabe erscheint immer nur eines).


Code
    <xslt:if test="normalize-space($Custom1) != ''">  
<tr><td><b>letzter Kontakt:</b> <xslt:value-of select="$Custom1"/> <xslt:value-of select="$Custom2"/></td></tr>
</xslt:if>


=> evtl. braucht es hier anstatt einem Leerschlag ein
Code
&nbsp; 

damit das auch korrekt angezeigt wird.

Antwort auf: - das Feld "Custom2" ist ein Datum und die Ausgabe erfolgt im Format: "2018-09-30 00:00:00.0", ich hätte gern "30.09.2018".


=> Zuerst kommt es hier auf die gewählte XSL Version an und zweitens wie das Datum im XML geliefert wird. Hier findest Du evlt. weitere Infos dazu https://stackoverflow.com/...-date-format-in-xslt

Antwort auf: - das Feld "Custom0" ist eine Ganzzahl, diese hätte ich gern mit Tausenderpunkt.


=> Die gewünschte Funktion aus XSL verwenden https://www.w3schools.com/...unc_formatnumber.asp

Antwort auf: - und wenn man den Variablenfelder noch spaltenmäßig den gleichen Anfangspunkt geben könnte, dann wäre es perfekt.


=> Das verstehe ich nicht. Aktuell hast Du ja jeweils pro Variabel eine eigene Tabellen-Reihe tr. Sonst müsstest Du nur eine tr machen und dann fix die td (immer diesselbe Anzahl) und dann würdest das xslt:if soweit weglassen oder nur innerhalb der td machen.

lg
chris.w.

*************************************
Chris Würsch
http://www.chriswuersch.com
*************************************


als Antwort auf: [#566597]

xslt - Feldformatierungen

Neuling1234
Beiträge gesamt: 2

3. Okt 2018, 15:05
Beitrag # 3 von 3
Beitrag ID: #566657
Bewertung:
(8326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Chris,

danke für deine Antwort.

Deine Beispiele und Links haben mir sehr weitergeholfen.
Code
 </xslt:template> 
<xslt:decimal-format name="de" decimal-separator="," grouping-separator="."/>
<xslt:template name="Company">
<xslt:param name="Company"/>
<xslt:param name="Custom0"/>
<xslt:param name="Custom1"/>
<xslt:param name="Custom2"/>
<xslt:param name="Custom3"/>
<xslt:param name="Custom4"/>
<xslt:param name="Custom5"/>
<xslt:param name="Custom6"/>
<xslt:if test="$Company != ''">
<tr><td class="boldfont"><xslt:value-of select="$Company"/></td></tr>
</xslt:if>
<table border="1">
<xslt:if test="normalize-space($Custom0) != ''">
<tr><td>Einwohner: </td><td><xslt:value-of select="format-number($Custom0, '###.###', 'de')"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom1) != ''">
<tr><td>Kontakt: </td><td><xslt:value-of select="substring($Custom2,9,2)"/>.<xslt:value-of select="substring($Custom2,6,2)"/>.<xslt:value-of select="substring($Custom2,3,2)"/> [<xslt:value-of select="$Custom1"/>]</td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom3) != ''">
<tr><td>App: </td><td><xslt:value-of select="$Custom3"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom4) != ''">
<tr><td>offene ZU: </td><td><xslt:value-of select="$Custom4"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom5) != ''">
<tr><td>Gef&#252;hl: </td><td><xslt:value-of select="$Custom5"/></td></tr>
</xslt:if>
<xslt:if test="normalize-space($Custom6) != ''">
<tr><td valign="top">Notiz: </td><td><xslt:value-of select="$Custom6"/></td></tr>
</xslt:if>
</table>
</xslt:template>


... letztendlich sind die Änderungen maginal, aber es hat schon einige Stündchen gedauert, bis ich jedes Detail durch hatte.

Jetzt habe ich dadurch auch mal einen kleinen Einblick in die Web-Programmierung bekommen.

Ich werde es wohl wahrscheinlich nicht nochmal brauchen, aber Wissen kann nicht schaden.

Danke dir nochmal für deine Hilfe.

ciao Neuling


als Antwort auf: [#566652]
Hier Klicken

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.
pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
21.08.2019

Affinity Photo, Affinity Designer und Affinity Publisher

Schulungsraum von pre2media – Dammstrasse 8, 8610 Uster
Mittwoch, 21. Aug. 2019, 09.00 - 17.00 Uhr

Referat

Alle reden davon – wir zeigen ihnen kompakt was in den einzelnen ­Programmen wirklich steckt. Sind die Programme von Affinity – bereits heute – eine Alternative zu den Adobe-Programmen? Was versteht ­Affinity unter StudioLink und der vollständigen Integration der Affinity-Apps. Sie können jedes Affinity-Referat einzeln buchen. Oder alle drei Referate zusammen, bequem an einem Tag.

Mittwoch, 21. August 2019
9.00 bis 11.00 Affinity Photo Bildbearbeitung CHF 90.00
13.00 bis 15.00 Affinity Designer Grafikdesign CHF 90.00
15.00 bis 17.00 Affinity Publisher Layoutprogramm CHF 90.00
Alle drei Affinity Programme zusammen (6 Lektionen) CHF 220.00

Diese Referate werden auch noch am Fr. 13. September und am Di. 22. Oktober 2019 durchgeführt.

Ja

Organisator: pre2media gmbh, Dammstrasse 8, 8610 Uster, info@pre2media.ch, www.pre2media.ch

Kontaktinformation: Peter Jäger oder Roger Thurnherr, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/kurse/affinity-referat/

Affinity-Referat bei pre2media
Veranstaltungen
22.08.2019

Impressed GmbH, Hamburg
Donnerstag, 22. Aug. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. halbstündigen Webinar das neue Enfocus Switch PDF Review Modul zur Freigabe von PDF-Druckdaten vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=250

Enfocus Switch PDF Review Modul