You are not logged in.

  • Login

1

Thursday, August 6th 2009, 10:52am

XSLT: Bestimmte Textpassagen aus XML auslesen

Hallo zum Anfang ich bin ein totaler XML/XSL Anfaenger: Mein Problem lautet: Meine AUfgabe ist es ..einen Workflow zu gestalten und diesen als XML abzuspeichern..nun muss ich einen Stylesheet schreiben der nur fuer uns bestimmte Daten ausliest und ausgibt..mein Problem besteht nun darin..ich habe ein Attribut das viele Attributwerte enthaelt, aber ich brauche nur bestimmt davon. Wie kann ich bestimmte Textpassagen auslesen und die, die ich nicht benoetige verwerfen?
Hier ein Ausschnitt der XML Datei.


XML Code

1
2
3
4
5
6
7
8
9
10
11
<Document>
 <Page>
  <Layer>
   <Shape>
    <Texts>
     <Text Rtf="{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}}&#x0D;&#x0A;{\colortbl ;\red0\green0\blue0;}&#x0D;&#x0A;\viewkind4\uc1\pard\li50\ri50\sl240\slmult1\qc\cf1\highlight0\f0\fs20 Coordinator\par&#x0D;&#x0A;}" TxtFlag="0" ExtendMode="0" />
    </Texts>
   </Shape>
  </Layer>
 </Page>
</Document>


Und ich moechte jetzt nur das Wort : "Coordinator" herausfiltern.
Kann mir einer helfen wie ich dies in der XSL schreiben kann?

Vielen Dank schon mal :)

2

Thursday, August 6th 2009, 2:21pm

zum Lesen

http://de.selfhtml.org/xml/darstellung/xsltelemente.htm
http://de.selfhtml.org/xml/darstellung/x….htm#operatoren
http://de.selfhtml.org/xml/darstellung/xpathfunktionen.htm

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml"/>
	<xsl:template match="/">
		<root>
			<xsl:if test="contains(//Text/@Rtf,'Coordinator')"/>
			<gesamt>
				<xsl:value-of select="//Text/@Rtf"/>
			</gesamt>
			<after>
				<xsl:value-of select="substring-after(//Text/@Rtf,'Coordinator')"/>
			</after>
			<before>
				<xsl:value-of select="substring-before(//Text/@Rtf,'Coordinator')"/>
			</before>
		</root>
	</xsl:template>
</xsl:stylesheet>

Social bookmarks