Domino 9 und frühere Versionen > ND7: Entwicklung

DXL originalgetreu importieren

<< < (4/4)

Johnson:
Besten Dank, für die Mühen, Pitiyankee. Finde ich super von dir. Ich hoffe, deinem Zahn gehts besser. Ich muss jetzt noch dein XSL angucken und verstehen, was das genau bedeutet.

Ich habe mich letztes Wochenende auch mal an XSL herangewagt (s. Anhang). Aber so richtig schlau werde ich selbst aus meinem Code noch nicht, da ich mich lediglich durch Beispiele und Tutorials geklickt habe.

Ich habe jedoch noch keine Idee, wie ich die Aliaswerte von manchen Feldern in richtigen lesbaren Text umwandeln kann. Ebenso wäre es gut, wenn das fertige HTML-File ungefähr so dargestellt wird, wie das Serverdokument über die Form "Server"...
Das wird wohl noch ein bisschen viel Arbeit. Aber ich denke, dass sich dass dann sehen lassen kann...

To be continued...

flaite:
Mit der Formatierung ist es halt eine Frage wie du das html schreibst.
Genauso wie das Dokument in Notes dürfte aber schwierig sein, da im dxl die items unsortiert sind.

Meine zusätzlichen Features sind:
- leere Textfelder werden gar nicht angezeigt:

--- Code: ---<xsl:template match="/d:document/d:item/d:text" mode="item">
<xsl:param name="name"/>
<xsl:if test="string-length(normalize-space(text())) > 0">
<tr>
<td class="key">
<xsl:value-of select="$name"/>
</td>
<td class="value">
<xsl:value-of select="text()"/>
</td>
</tr>
</xsl:if>
</xsl:template>

--- Ende Code ---
Mehrfachwertefelder werden bei Textfeldern mit Komma getrennt:

--- Code: ---<xsl:template match="/d:document/d:item/d:textlist/d:text" mode="item">
<xsl:if test="position() > 1">, </xsl:if><xsl:value-of select="text()"/>
</xsl:template>

--- Ende Code ---

Ansonsten gefallen mir auch manche Sachen besser  bei deinem code. Wenn ich morgen Zeit hab, mach ich einen merge. Bin auch nicht der Weltmeister in xslt. Will aber jetzt besser werden.

Johnson:
Leere Felder nicht anzeigen ist schön und gut. "No news are good news" ;) Aber der Hammer kommt noch später, wenn die Änderungen, die in einem Serverdokument gemacht wurden, markiert oder hervorgehoben werden sollen. Ich hoffe meine Admins kommen nicht auf den Gedanken, sonst wird übel.

Ich denke aber, dass es für den Betrachter der HTML-Files (also der transformierten DXL-Files) angenehmer ist, wenn diese dem Layout der Serverform am nächsten kommen. D.h. leere Felder werden dort auch angezeigt.

So sollte es dann aussehen: s. Anhang serverdoc.html.txt

Das dazugehörige xsl: s. Anhang serverdoc.xsl.txt
Hier gefällt mir nicht, dass ich jedes Feld einzeln angebe. Hat dafür jemand eine bessere Vorgehensweise?
Ebenso muss ich noch, wie schon gesagt, die Aliasnamen übersetzen (1=Enabled oder 0=Disabled etc).

Ich habe langsam das Gefühl, dass ich hier mit Kanonen auf Vögel schieße.

flaite:
Ich würd mir überlegen einen Generator schreiben, der das xslt erzeugt.
Der Generator kann dann verwendet werden, um verschiedene dxls in html zu konvertieren.

Wirklich Variabel sind ja die Feldnamen und in welchem Tab die stehen. Diese Informationen kriegst du nicht aus dem dxl heraus.
Man könnte aber wie gesagt einen Generator schreiben der gemäss einer einfacheren xml-Konfigurationsdatei diese dxl Dateien mit den gewünschten xpath Statements und Labels erzeugt.
Hoffe,  das ist irgendwie verständlich. Vielleicht setz ich mich da mal dran.
Aliasnamen mußt du wohl auch per Hand machen. Es sei denn du exportierst die Form als dxl. Da stehen die Aliasnamen irgendwo drin. Aber das wird möglicherweise einfach zu kompliziert.
Generator könnte sich lohnen. Aliase könnten da auch verarbeitet werden.

Gruß Axel

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln