Frag zu xsl:when beziehungsweise XPath

Status
Nicht offen für weitere Antworten.

marvin

Mitglied
hi,

hab ein kleines Probelm, und zwar habe ich eine vorgegebene XML-Struktur die ich nicht veraendern kann. Mit diesem XML-Dokument versuche ich einmal HTML und einmal PDF zu erzeugen. Funktioniert auch alles einwandfrei. Hab nur ein Problem: Im XML-Dokument gibt es 2 Arten von Tables. Erstens das Anfangstag TABLE was dafuer gedacht ist um auf den HTML-Seiten das Layout u gestalten und dann nochmal eine TABLE in dieser TABLE welche dann eine "echte" Tabelle sein soll die in HTML sowie auch PDF dargestellt werden soll(beimeinem Problem geht es nur um PDF). Mein Problem ist jetzt wie ich in XSL mittels einer xsl:when abfrage die Tables und besonders die TDs und TRs voneinander unterscheiden kann. Die uebergeordnete TABLE, sowie auch TRs und TDs sollen in PDF nicht als Tabelle interpretiert werden.


ich habe fogende xml struktur(stark gekuerzt):

Code:
<TABLE width="750px"> 
 <TR>
  <TD>
   <Absatz>.......</Absatz>
  </TD>
 </TR>
 <TR>
  <TD>
   <Absatz>
    <TABLE>
     <TR>
      <TD>
       <Absatz>.........</Absatz>
      </TD>
     </TR> 
    </TABLE>
   </Absatz>
  </TD>
 </TR>
<TABLE>




Um das 2. TABLE-TAG vom ersten zu unterscheiden wollte ich das so machen:

Code:
<xsl:template match="TABLE">
    <xsl:choose>	
      <xsl:when test="parent='Absatz'">
        <xsl:variable name="realTable" select="true"/>
          <fo:table-and-caption >
            <fo:table>
              <fo:table-body>
	<xsl:apply-templates/>
              </fo:table-body>
            </fo:table>
          </fo:table-and-caption >
        </xsl:when>
        <xsl:otherwise>		
            <xsl:apply-templates/>	
        </xsl:otherwise>			
    </xsl:choose>	
</xsl:template>

Das Table-Tag wird also nur als Table interpretiert wenn es auch wirklich eine "echte" Table sein soll.

Ist der xsl:when-part richtig???

Wie schaff ich es jetzt die TRs und die TDs zu identifizieren, dass sie zur "2ten" Table gehoeren und nicht zur "1sten" ?

Kann ich fuer TR zum beispiel den grossvater abfragen? Geht das? Doch was mach ich dann mit den TDs

habt ihr ne idee? waere wirklich sehr hilfreich
 

marvin

Mitglied
Hab die Anfrage nochmal ueberarbeitet, es geht wirklich nur darum wie ich die TDs und so voneinander differenzieren kann? Ist bestimmt nicht schwer wenn man damit en bissl Erfahrung hat, was mir leider noch fehlt.

pls help me
 

Bleiglanz

Gesperrter Benutzer
würde sagen der rekursive weg (apply-templates) ist an der stelle irgendwie nicht mehr so toll

wenn du die richtige Table ausgewählt hast, dann mach halt einfach ein
Code:
<xsl:for-each select= "./tr">
    <xsl:for-each select= "./td">.

    </xsl:for-each>
</xsl:for-each>

und iteriere durch...

alternativ müsstest du ja immer mit
name(../../../) usw. den namen des parents des parents des parents usw. abfragen, ist irgendwie komisch
 

marvin

Mitglied
Hi,

danke @ Bleiglanz.

Hab mitlerweile eine andere Loesung gefunden:

und zwar:

frage ich fuer die TABLE:

Code:
<xsl:when test="count(ancestor::TABLE)= 1">

und fuer TR und TD jeweils

Code:
<xsl:when test="count(ancestor::TABLE)= 2">

funktioniert super.

Jetzt hab ich leider ein neues Problem und zwar muesste ich in der TABLE abfragen wieviele TDs es gibt und fuer jedes eine <fo:table-column/> setzen. Hab das so probiert, geht aber noch nicht so wie ich dass will:

Code:
<xsl:when test="count(ancestor::TABLE)= 1">
    <xsl:variable name="realTable" select="true"/>
        <fo:table table-layout="fixed" border="2pt solid #AAAAAA" background-color="#EEEEEE">
	<xsl:for-each select="descendant::TD"> 
	        <fo:table-column/>
	</xsl:for-each>
	<fo:table-body>
	    <xsl:apply-templates/>
	</fo:table-body>
        </fo:table>
</xsl:when>
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kirby.exe Probleme mit XML XPATH Select XML & JSON 3
B XPath soll XML liefern XML & JSON 7
O XPATH Problem - Anfänger XML & JSON 4
M dom4j unberechtigte Invalid XPath expression XML & JSON 12
W XPath schreiben XML & JSON 1
P HTML XPath XML & JSON 1
S Ersatz für die veraltete Klasse XPath XML & JSON 1
C XPath: Alle Kinder in einer Schleife auslesen XML & JSON 2
P Xpath zugriff auf Attribute XML & JSON 3
P "XPath is deprecated" XML eclipse XML & JSON 3
G HtmlUnit XPath XML & JSON 5
D XPath-Query XML & JSON 2
I XPath Namensräume und auslesen einzelner Knoten XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
G xpath: in Kindelement zwei Attribut-Werte auslesen XML & JSON 2
G xpath: Inhalt eines Kindelements auslesen XML & JSON 2
H ChildNode via XPath ansprechen XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S Attribute von Elementen auslesen mit XPath XML & JSON 2
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
W XPath + Inhalt aus <td> XML & JSON 2
R XPath - frage zur Adressierung XML & JSON 3
reibi XPath XML & JSON 14
M xPath liefert leeres Nodeset XML & JSON 2
M Probleme mit XPath bei Java XML & JSON 5
W Element mit XPath @id ermitteln wenn nur ein teil der id bekannt ist XML & JSON 2
F XPath-Problem mit DOM4J XML & JSON 8
T XPath Problem: finden einer Node nach Attributswert XML & JSON 2
O XPATH gesucht XML & JSON 6
G XPATH-Frage XML & JSON 2
L Element manipulieren in einem DOMResult per XPath XML & JSON 10
P XPath und Namespaces XML & JSON 3
G XPath - replace function funktioniert nicht XML & JSON 3
E XPATH-Ausdruck mit not XML & JSON 4
E Wieso liefert dieser XPATH-Ausdruck nicht die richtige Anzahl Treffer? XML & JSON 8
M XPath Ausdruck validieren XML & JSON 2
N XPath Adressierung XML & JSON 7
F XPath frage XML & JSON 4
B Optionaler XPath pfad XML & JSON 2
B XPath frage XML & JSON 2
T Frage zu XQuery (XQJ) / XPath XML & JSON 2
P XPath Problem XML & JSON 2
S Problem mit XPath XML & JSON 4
T Mit XPATH finden und dann änder XML & JSON 2
T EXSD auslesen mit XPath und JDOM XML & JSON 8
G XPath gesucht für Tag mit konkretem Content XML & JSON 2
A XPath Problem XML & JSON 2
C XPath in JDOM klappt nicht XML & JSON 2
T Prbolem XPath XML & JSON 2
X Xpath, alle Element die mit "user" beginnen auswäh XML & JSON 2
loadbrain XPath Problem XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
M JDOM und XPath, zu Element zugehörigen XPath-Ausdruck XML & JSON 5
F JDOM und XPath - Problem mit Namespace ohne Prefix XML & JSON 5
F hilfe bei xpath-ausdruck XML & JSON 2
K java + xpath -> performanceproblem XML & JSON 9
H Xpath kindelemente auslesen XML & JSON 2
S Xml zurück in xpath wandeln XML & JSON 8
G Frage zu XPath XML & JSON 2
flashfactor Filtern mittels XPATH XML & JSON 4
M XSL/XPath - Nur ersten Wert mit selben Attribut XML & JSON 4
M XPath Problem im Zusammenhang mit document() XML & JSON 2
F JDom und XPath XML & JSON 12
C xpath funktioniert nicht XML & JSON 5
M XPATH und RSS (Problem namespaces) XML & JSON 7
P nochmal XPath :-) XML & JSON 22
P XPath . XML & JSON 2
T Rekursiver Verzeichniss Baum in XML & XPath XML & JSON 4
clemson xpath mit jdom XML & JSON 2
Wildcard xpath Parser XML & JSON 8

Ähnliche Java Themen

Neue Themen


Oben