[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:
(10601 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: 114

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

Aktuell

Diverses

| 14.02.2020

die-einstellungen_300

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
07.02.2020 - 11.09.2020

Digicomp Academy AG, 8005 Zürich
Freitag, 07. Feb. 2020, 13.00 Uhr - Freitag, 11. Sept. 2020, 12.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte. Mit dem Abschluss «Publisher Professional – Profil «Multimedia» verliehen durch die Digicomp Academy AG, bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-professional-profil-multimedia

Veranstaltungen
22.02.2020 - 04.07.2020

Lehrgang zielgerichtet auf die Zertifizierung zum Publisher Basic

Schulungsraum PubliCollege, Kronenhalde 9d, 3400 Burgdorf
Samstag, 22. Feb. 2020, 13.14 Uhr - Samstag, 04. Juli 2020, 13.15 Uhr

Projektseminar/Lehrgang

Ziele In der Medienproduktion unter Einbezug der aktuellen Publishing-Programme mitarbeiten. Voraussetzungen Sie möchten gestalterisch tätig sein und eigene grafische Ideen kompetent entwickeln sowie umsetzen; Medienproduktionen professionell planen und ausführen. Kompetenzen Nach Abschluss dieses Lehrgangs können Sie Printpublikationen aller Art von der Gestaltung über die Umsetzung bis zu druckfertige PDFs erstellen. Sie sind fähig, CI/CD-Vorgaben umzusetzen. Sie lernen die Grundlagen der grafischen Gestaltung kennen und setzen diese mit Adobe Photoshop, InDesign und Illustrator effizient um.

15 Halbtage, jeweils am Samstag von 08.30 bis 14 Uhr im Kursraum des PubliCollege, 3400 Burgdorf


Daten
Samstag, 22.2., 29.2., 14.3., 21.3., 28.3., 4.4., 25.4., 2.5., 9.5., 16.5., 6.6., 13.6., 20.6., 27.6., 4.7. 2020
Reservedatum am 23.5. 2020

Ja

Organisator: PubliCollege GmbH, 3400 Burgdorf

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

https://www.publicollege.ch/kursangebote/20-publisher-basic

Hier Klicken