[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:
(10533 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:
(10491 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:
(10468 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
verknuepfungen-bevorzugen_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
20.02.2020

Messe Berlin, Halle 21
Donnerstag, 20. Feb. 2020, 09.00 - 17.00 Uhr

Messe

Die Sales Marketing Messe in München ist die Kongressmesse für Marketing & Vertrieb. Zahlreiche Aussteller präsentieren sich auf der Sales Marketing Messe München und zeigen ihre Produkte, Dienstleistungen, Strategien und Konzepte zur Präsentation und zum Verkauf von Waren und Dienstleistungen, sowie zur Kundengewinnung und Kundenbindung. Geschäftsführer, PR-Chefs, E-Commerce Manager, Marketing- und Vertriebsleiter aus Konzernen und mittelständischen Unternehmen, sowie auch Marketing- und PR- Agenturen erhalten auf der Marketingmesse viele Impulse, wie gesetzte Umsatzziele erreicht werden können. Ein umfangreiches Vortragprogramm informiert darüber hinaus auf der Sales-Marketing-Messe in München über die neuesten Erkenntnisse und Strategien im Vertrieb, sowie über innovative und effektive Marketing-Instrumente. Hier werden an Hand von Referenzprojekten Lösungs- und Erfolgsmodelle für die Fachbesucher dargestellt.

intrittspreise 2020
Vorverkauf-online:
Tageskarte: 15,00 EUR*
Tageskasse:
Tageskarte vor Ort: 20,00 EUR*

* inkl. aller Vorträge

Nein

Organisator: NETCOMM GmbH, Wiesentfelser Str. 1, D- 81249 München

https://www.sales-marketing-messe.de/

IFRA World Publishing Expo