ugrás a tartalomhoz

xml vezérelt stíluslap

Anonymous · 2006. Jún. 1. (Cs), 12.07
Hello!

Javaból generálok egy xml streamet , aminek a formázásához készült egy stíluslap. Egy nyomtatási képhez kell. A kimenet FO stream lesz.
Az xml-ben vannak blokkok, amik a java program beállításait tartalmazzák, nevezetesen, hogy bizonyos adatok megjelenjenek-e a nyomtatási képen vagy sem.
Hogyan tudom ezt a stíluslapban feldolgozni, hogy bizonyos csomópontokhoz érve megnézze, hogy az adott csomópontban levő adatot meg kell-e jeleníteni ?

Előre is köszi a segítséget !

Eggman
 
1

mondjuk if-fel

vbence · 2006. Jún. 1. (Cs), 14.10
Ha picit konkrétabbal fogalmazol, akkor tudnék konkrétabban válaszolni..
2

Xml vezérelt stíluslap

Anonymous · 2006. Jún. 1. (Cs), 15.39
Megpróbálom. Van egy ilyen blokk az xml-ben:
<fk_supplier_letter_address>
<building><![CDATA[22]]></building>
<door><![CDATA[4/a]]></door>
<floor><![CDATA[null]]></floor>
<number><![CDATA[8]]></number>
<placename><![CDATA[Budapest XIV.]]></placename>
<publicPlacename><![CDATA[Lajos]]></publicPlacename>
<stairway><![CDATA[null]]></stairway>
<zipCode><![CDATA[1141]]></zipCode>
<postOfficeBox><![CDATA[null]]></postOfficeBox>
</fk_supplier_letter_address>
és írnék ki bele ilyen blokkokat:
<mustprintnumber>true</mustprintdoor>
<mustprintdoor>false</mustprintfloor>

van már egy ilyen template, amit a fenti csomópontra hívok meg
<xsl:template match="address">
<xsl:call-template name="ShowNillableElement">
<xsl:with-param name="value" select="zipCode"/>
</xsl:call-template>
...

itt kéne valami elágazás, ami a mustprint... értékétől függően hívja meg a shownillableelement template-et
Sajna elég kezdő vagyok a témához, de a kollégám lebetegedett, és ezt muszáj lenne a héten befejeznem :-)
Köszi, Eggman
3

Xml vezérelt stíluslap

Anonymous · 2006. Jún. 1. (Cs), 15.52
bocs, ilyen blokkokat írnék bele :-)

<mustprintnumber>true</mustprintnumber>
<mustprintdoor>false</mustprintdoor>
4

példa

vbence · 2006. Jún. 3. (Szo), 01.17
Ha mondjuk ilyen van:

<root>
  <mustprintdoor>false</mustprintdoor>
  <address>
    <name>John</name>
    <door>3</door>
  </address>
  <address>
    ...
  </address>
</root>
akkor lehet olyat csinálni, hogy:

<xsl:template match="address">
  <div class="nev"><xsl:value-of select="name"/></div>
  <xsl:if test="/root/mustprintdoor='true'">
    <div class="ajto"><xsl:value-of select="door"/></div>  
  </xsl:if>
</xsl:template>
és akkor ez elvileg működik. Itt html-t csinál a példában, de lehetne bármilyen xml a kimenet, akár <xsl:copy-of select="name"/> és akkor az aktuális node-ot másolja az output fájlba, vagy streambe vagy akármibe...