Autor Thema: Java Pendant zu NotesXSLTransformer?  (Gelesen 8246 mal)

Sebastianh

  • Gast
Java Pendant zu NotesXSLTransformer?
« am: 02.07.09 - 14:24:54 »
Hallo zusammen,

wie der Thementitel schon erraten lässt, bin ich auf der Suche nach einer Javaklasse die mir dieselben Funktionalitäten bereitstellt wie die LotusScriptklasse NotesXSLTransformer.
(Es geht immer noch darum, dxl zu html zu transformieren)

Jemand eine Ahnung?

Grüße,

Sebastian

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #1 am: 02.07.09 - 15:03:12 »
http://de.wikipedia.org/wiki/XSL_Transformation

Da sind alle gängigen Tools aufgelistet, nur um aus DXL --> HTML zu machen brauchst du eine beschreibende XSLT-Datei, habt ihr die schon?
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #2 am: 02.07.09 - 16:03:11 »
hm, Danke. Aber ich dachte eigentlich mehr an ein Boardmittel in der NotesAPI.
(wenn es sowas für LS gibt, warum dann nicht auch für Java?)

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #3 am: 09.07.09 - 13:41:55 »
Bin jetzt dabei, mir eine eigene xsl zu basteln, die ich dann mit den javaeigenen Werkzeugen auf die dxl-Dateien anwenden kann. Allerdings frag ich mich grad, wie ich mit xsl den Wert eines Attributs eines Elements überprüfe. Folgender Code funktioniert nicht:
Code
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/TR/REC-html40">

<xsl:output method="html"/>

<xsl:template match="/">

<html>
  <xsl:apply-templates/>
</html>

</xsl:template>

<xsl:template match="//document/item">
	<xsl:if test="/@name='Body'">
		<body>
			<p>HALLO</p>
		</body>
	</xsl:if>
</xsl:template>

Das hat zwar nichts direkt mit Notes/Domino zu tun, trotzdem jemand eine Idee?

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #4 am: 09.07.09 - 14:19:00 »
XSLT ist ein echt hartes Brot wenn man das zum ersten mal macht ;)
Sehr viel kenne ich mich damit auch nicht aus, aber denke es müsste so aussehen:
Code
<xsl:template match="document/item">
	<xsl:if test="@name='Body'">
		<body>
			<p>HALLO</p>
		</body>
	</xsl:if>
</xsl:template>

Wenn DU HTML erzeugen willst würde ich das Dokument in ein RT-Feld rendern, welches als Mime-Typ HTML hat, ist vielleicht einfacher.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #5 am: 09.07.09 - 14:21:19 »
Danke, inzwischen habe ich:
Code
<xsl:template match="item[@name='Body']">

was auf jeden Fall matcht. Das mit dem rendern in RT werd ich doch glatt mal ausprobieren. Ist aktuell doch irendwie sehr mühsam, einen Fuss an die Erde zu bekommen.

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #6 am: 09.07.09 - 16:11:15 »
nocheinmal eine Frage zu XSLT.

Wenn ich im dxl-Code ein "Item"-Tag habe, das ein "par"-Kind hat, das "par"-Kind kann aber auch an anderen Stellen auftauchen, warum matcht dann folgender Code nicht auf <par>?

Code
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/TR/REC-html40">

<xsl:output method="html"/>
<xsl:template match="/">
	<html>
	<xsl:template match="item[@name='Body']">
		<body>
		<xsl:apply-templates/>
		</body>
	</xsl:template>
	</html>
</xsl:template>
<xsl:template match="//par">
	<p>
		<xsl:apply-templates/>
	</p>
</xsl:template>

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #7 am: 10.07.09 - 11:11:45 »
Dir fehlen in dem XPath der Namespace. Ziemlich sicher.
Google Query: XPath Namespace
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #8 am: 15.07.09 - 10:18:38 »
heisst, ich müsste so etwas machen wie:

Code
<xsl:template match="xsl://par">
...

?

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #9 am: 15.07.09 - 10:24:59 »
ok, ich habs, super, Danke!
Code
<xsl:template match="//notes:par" xmlns:notes="http://www.lotus.com/dxl">
   <xsl:text>
      ...
   </xsl:text>
</xsl:template>

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #10 am: 15.07.09 - 12:27:52 »
Genau.
Du die namespace declaration aber auch weiter oben vornehmen.
Code
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/TR/REC-html40"
  xmlns:notes="http://www.lotus.com/dxl">

Dann sollte im match das funktionieren:
Code
<xsl:template match="//notes:par">

Wenn du in einem Stylesheet mehrmals auf den notes namespace zugreifst, ist das einfacher.

Gruss Axel
« Letzte Änderung: 15.07.09 - 12:31:18 von Pitiyankee »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #11 am: 16.07.09 - 14:11:57 »
nochmal Danke, Pitiyankee. Je größer die xsl-Datei wird, desto angenehmer die Ersparnis.
Inzwischen bin ich dabei ein template für <table> zu implementieren, allerdings gibt es da meinerseits wieder einige Fragen. Mein zu transformierender Dxl-Code hat folgende Form:

Code
<table user4spacing="true" widthtype="fitmargins" cellborderstyle="ridge" columnspacing="0.0278in" refwidth="20.1111in" 
minrowheight="0" rowspacing="0" cellbordercolor="none" colorstyle="none" leftmargin="1in" rightmargin="22.0in" rowdisplay="all" 
outsidewrap="false" insidewrap="false" direction="lefttoright">
<tablecolumn width="99.75%" sizetofit="false"/>
<tablecolumn width="0.25%" sizetofit="false"/>
<tablerow>
<tablecell bgcolor="#71b2cf" borderwidth="0px" rowspan="1" columnspan="1" rowheader="false" columnheader="false" transition="none">

Jetzt gibt es hier einige Attribute, die mir gar nichts sagen (bzw. deren Entsprechungen in HTML mir nicht bekannt sind). Ist es möglich an so eine Art DXL-Referenz zu kommen, in der alles beschrieben ist? Oder kann mir hier jemand sagen, was genau es mit outsidewrap, insidewrap, colorstyle, refwidth, rowspan, columspan und transition auf sich hat? Natürlich sind viele der Namen sprechend, aber die exakte Definition wäre schon nicht verkehrt. Ebenso die Einheiten, insbesondere die Einheit "in". Sind das Inch? Kann ich die in Pixel umrechnen? Fragen über Fragen.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #12 am: 16.07.09 - 23:40:09 »
Mir ist keine dxl Referenz bekannt.
Du kannst es dir (mühsam) erschliessen, wenn du die Gestaltung der Tabelle im Designer änderst und dir die Ergebnisse im DXL anschaust.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Sebastianh

  • Gast
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #13 am: 18.07.09 - 13:02:06 »
"mühsam" ist hier wohl die richtige Wortwahl. Das dauert ja ne halbe Ewigkeit, wenn man das so realisieren will. Gibt es wirklich keine offiziellen Dokumente zur Struktur von dxl Seitens IBM?

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Java Pendant zu NotesXSLTransformer?
« Antwort #14 am: 18.07.09 - 16:17:08 »
Im Notes-Verzeichnis liegt eine DTD Datei rum, da sind ist der Aufbau der DXL-Datei spezifiziert.
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz