[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:
(9966 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
Hier Klicken X

xslt - Feldformatierungen

crisies
  
Beiträge gesamt: 114

2. Okt 2018, 21:43
Beitrag # 2 von 3
Beitrag ID: #566652
Bewertung:
(9924 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:
(9901 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]

Aktuell

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 hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
09.12.2019

pre2media, Dammstrasse 8, 8610 Uster
Montag, 09. Dez. 2019, 18.13 - 18.14 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.

10.00 bis 12.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

Ja

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

Kontaktinformation: Roger Thurnherr, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/kurse/affinity--referate-und-kurse/mo-9-dezember-2019--affinity-referate/252/

Affinity-Referat bei pre2media
Veranstaltungen
12.12.2019

Ortsunabhängig
Donnerstag, 12. Dez. 2019, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen kostenlosen Webinar stellen wir Ihnen die Neuerungen in der Version 2019 von Enfocus PitStop Pro vor.

Ja

Organisator: Impressed GmbH

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

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

Enfocus PitStop 2019