Hi, I'm new to both the list and xsl. I've build a test case:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="doc1.xsl"?>
<!DOCTYPE doc [
<!ELEMENT doc (index,name)>
<!ELEMENT index (EMPTY)>
<!ATTLIST index
level1 CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ATTLIST name
reg CDATA #IMPLIED>
<!ENTITY HHStA "Wien, HHStA,">
]>
<doc>
<index level1="Pernstein, Vratislav von -" />
<index level1="Philipp II. von Spanien" />
Zeitungsbericht
1560 April 17, Toledo
Der Herr von Pernstain ist auf 8. diz von hinnen mit seiner
gsellschafft nach Sarragossa vnd
Barzalana verrugkht, von dannen well er vber-
fol. 394r
farn auf Genua, Maylannd vnd durch
Tyroll p[er] Wienn. Er hat dem Kunig ausser dess so er von Kay Mt.
vnd Khu: w:e von Behem
wegen gethan, fur sich selbst ain schon zobln pelz vereert, Ime hat
aber der Kunig mer nit als ain
Kettin von 2000 [] vereert, gleichwol er sich merers verseh[en]. ...
D[er] Kunig soll den <name reg="Ragier Patie">Ragier
Patie</name> angenomen haben,
hieuor der <name reg="Maria">Kunigin Maria</name> Camerling vnd
hofmeist[er] In Spania
gwest, gibt im Jarlich 2000 Ducat[en] dem Tirgarten vnd annderm
nach Niderlenndisch[en]
brauch zu wartten vnd zue zurichten.
&HHStA; Reichskanzlei, Geschriebene Zeitungen 7, fol. 393v, 394r.
</doc>
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method = "html" />
<xsl:template match="/" name="replaceLineBreaks">
<xsl:param name="string" select="." />
<xsl:param name="switch" select="0" />
<xsl:choose>
<xsl:when test="contains($string, '
')">
<xsl:choose>
<xsl:when test="starts-with($string, ' ')">
<![CDATA[</p><p>]]>
<br />
<xsl:value-of select="$switch" />
<xsl:text>6*</xsl:text>
<xsl:value-of select="substring-before($string, '
')" />
<xsl:call-template name="replaceLineBreaks">
<xsl:with-param name="string"
select="substring-after($string, '
')" />
<xsl:with-param name="switch" select="1" />
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with($string, ' ')">
<br />
<xsl:value-of select="$switch" />
<xsl:text>3*</xsl:text>
<xsl:if test="$switch=0">
<![CDATA[<p>]]>
</xsl:if>
<xsl:value-of select="substring-before($string, '
')" />
<xsl:call-template name="replaceLineBreaks">
<xsl:with-param name="string"
select="substring-after($string, '
')" />
<xsl:with-param name="switch" select="1" />
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with($string, 'fol.')">
<xsl:text>[</xsl:text>
<xsl:value-of select="substring-before($string, '
')" />
<xsl:text>]</xsl:text>
<xsl:call-template name="replaceLineBreaks">
<xsl:with-param name="string"
select="substring-after($string, '
')" />
<xsl:with-param name="switch" select="1" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<br />
<xsl:value-of select="$switch" />
<xsl:text>x*</xsl:text>
<xsl:if test="$switch=1">
<![CDATA[</p>]]>
</xsl:if>
<xsl:value-of select="substring-before($string, '
')" />
<xsl:call-template name="replaceLineBreaks">
<xsl:with-param name="string"
select="substring-after($string, '
')" />
<xsl:with-param name="switch" select="0" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
wich gives the output (Firefox 1.04):
0x*
0x*
0x*Zeitungsbericht
0x*1560 April 17, Toledo
03* <p> Der Herr von Pernstain ist auf 8. diz von hinnen mit seiner
gsellschafft nach Sarragossa vnd
13* Barzalana verrugkht, von dannen well er vber- [fol. 394r]
13* farn auf Genua, Maylannd vnd durch
13* Tyroll p[er] Wienn. Er hat dem Kunig ausser dess so er von Kay Mt.
vnd Khu: w:e von Behem
13* wegen gethan, fur sich selbst ain schon zobln pelz vereert, Ime
hat aber der Kunig mer nit als ain
13* Kettin von 2000 [] vereert, gleichwol er sich merers verseh[en]. ... </p><p>
16* D[er] Kunig soll den Ragier Patie angenomen haben,
13* hieuor der Kunigin Maria Camerling vnd hofmeist[er] In Spania
13* gwest, gibt im Jarlich 2000 Ducat[en] dem Tirgarten vnd annderm
nach Niderlenndisch[en]
13* brauch zu wartten vnd zue zurichten.
1x* </p> Wien, HHStA, Reichskanzlei, Geschriebene Zeitungen 7, fol. 393v, 394r.
I wanted to get for example <p> and other stuff inserted, but had to
cover it by cdata to become well formed. Also the recursive template
prevents me from adding html header information.
In addition to a solution I would appreciate poiters to further readings
about this...
Manfred Staudinger, Vienna, Austria
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--