XSLT:如何标记 post-在线论坛的内容

XSLT: how to tag post-content of an online-forum

我是 XML 的初学者。我尝试从 this using a XSLT-Stylesheet. I will auto-download multiple HTML-Sites from that forum, convert them to XHTML using Tidy 等线程站点中提取 post-content、post-author 和 post-date 等信息,然后应用自己编写的 XSLT-网站的样式表。 样式表如下所示

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no" />
    <xsl:template match="/">
    <!--identifying post-entry-->
        <content>
           <xsl:value-of select="//xhtml:blockquote[@class='postcontent restore']"/>
        </content>
    </xsl:template>     
</xsl:stylesheet>

如果我将其应用于上述网站的 XHTML 版本,则只有第一个 post 内容(从 'Nachdem' 到 'hochheilen')被正确标记。

这是 XHTML 的片段(在第 326 和 438 行找到 'postcontent restore'):

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de" id=
"vbulletin_html">
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Apple macOS version 5.6.0" />
<base href="http://forum.pcgames.de/" />
<!--[if IE]></base><![endif]-->
<link rel="canonical" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html" />
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8" />
<meta id="e_vb_meta_bburl" name="vb_meta_bburl" content=
"http://forum.pcgames.de" />
<meta name="generator" content="vBulletin 4.2.2" />
<meta name="theme-color" content="#333333" />
<meta name="msapplication-navbutton-color" content="#333333" />
<meta name="apple-mobile-web-app-status-bar-style" content=
"#333333" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta name="viewport" content=
"width=device-width,initial-scale=1.0,maximum-scale=1.0" />
<link rel="Shortcut Icon" href=
"http://forum.pcgames.de/favicon.ico" type="image/x-icon" />



<script type="text/javascript" src=
"http://www.pcgames.de/bcommon/js/jquery/jquery.finger.min.js"></script>

<title>[Erfahrungsaustausch / Spoileralarm] Hilfe - Ich weiß nicht
weiter!</title>
<link rel="canonical" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html" />

<script type="text/javascript" src=
"http://forum.pcgames.de/clientscript/vbulletin_ajax_threadrate.js?v=422"></script>
<link rel="stylesheet" type="text/css" href=
"http://forum.pcgames.de/css.php?styleid=11&amp;langid=2&amp;d=1535117522&amp;td=ltr&amp;sheet=toolsmenu.css,postlist.css,showthread.css,postbit.css,options.css,attachment.css,poll.css,lightbox.css" />
<link href=
'http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700'
rel='stylesheet' type='text/css' />
<link rel="stylesheet" type="text/css" href=
"http://forum.pcgames.de/css.php?styleid=11&amp;langid=2&amp;d=1535117522&amp;td=ltr&amp;sheet=additional.css" />

<script type="text/javascript" src=
"http://forum.pcgames.de/themecrate/debutant/clientscript/core.js?v=20171017"></script>
</head>
<body>


<div id="content-container">
<div id="main-content" class="clearfix">
<div class="menu">
<div class="wrapper"><a href="http://www.pcgames.de/" class="logo"
alt="PC Games" title="zur Startseite"></a> <a href=
"javascript:void(0)" class="menu_button"></a>
<ul id="navtabs" class="navtabs floatcontainer">
<li class="selected subMenu" id="vbtab_forum"><a class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/forum.php">Forum</a>
<ul class="floatcontainer">
<li id="vbflink_newposts" class="subItemA"><a href=
"http://forum.pcgames.de/search.php?do=getdaily&amp;exclude=3476,3512,3519,3544,3545,3531,3524,3525,3534,3528,3535,3533,3549">
Die letzten 100 Beiträge</a></li>
<li id="vbflink_faq" class="subItemA"><a href=
"http://forum.pcgames.de/faq.php">Hilfe</a></li>
<li id="vbflink_calendar" class="subItemA"><a href=
"http://forum.pcgames.de/calendar.php">Kalender</a></li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Community</a>
<ul>
<li id="vbclink_groups" class="subItemA"><a href=
"http://forum.pcgames.de/groups/">Gruppen</a></li>
<li id="vbclink_albums" class="subItemA"><a href=
"http://forum.pcgames.de/members/albums.html">Bilder &amp;
Alben</a></li>
<li id="vbclink_members" class="subItemA"><a href=
"http://forum.pcgames.de/members/list/">Benutzerliste</a></li>
</ul>
</li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Aktionen</a>
<ul>
<li id="vbalink_mfr" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/forumdisplay.php?do=markread&amp;markreadhash=guest">
Alle Foren als gelesen markieren</a></li>
</ul>
</li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Nützliche Links</a>
<ul>
<li id="vbqlink_posts" class="subItemA"><a href=
"http://forum.pcgames.de/search.php?do=getdaily&amp;days=7">Diskussionen
der letzten 7 Tage</a></li>
<li id="link_mtg3_542" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&amp;userid=0&amp;starteronly=1&amp;contenttype=vBForum_Post">
Meine Themen</a></li>
<li id="link_mtg3_639" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&amp;userid=0&amp;contenttype=vBForum_Post&amp;showposts=1">
Meine Beiträge</a></li>
<li id="link_mtg3_831" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&amp;userid=0&amp;starteronly=0&amp;contenttype=vBForum_Post">
Themen mit eigenen Beiträgen</a></li>
<li id="vbqlink_leaders" class="subItemA"><a href=
"http://forum.pcgames.de/showgroups.php">Forum-Mitarbeiter
anzeigen</a></li>
<li id="vbqlink_online" class="subItemA"><a href=
"http://forum.pcgames.de/online.php">Wer ist online</a></li>
<li id="link_ndgx_744" class="subItemA"><a href="/chat/">Chat
(IRC)</a></li>
</ul>
</li>
</ul>
</li>
<li class="subMenu" id="vbtab_blog"><a class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/blogs/">Blogs</a>
<ul class="floatcontainer">
<li id="vbblog_recent" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/recent-entries/">Neue
Blog-Einträge</a></li>
<li id="vbblog_popular" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/best-entries/">Top Einträge</a></li>
<li id="vbblog_member" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/all/">Blogliste</a></li>
</ul>
</li>
<li class="subMenu" id="vbtab_whatsnew"><a rel="nofollow" class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/search.php?do=getnew&amp;contenttype=vBForum_Post&amp;exclude=3476,3512,3519,3544,3545,3531,3524,3525,3534,3528,3535,3533,3549">
Was ist neu?</a>
<ul class="floatcontainer">
<li id="vbnew_activitystream" class="subItemA"><a href=
"http://forum.pcgames.de/activity.php">Aktivitäten</a></li>
<li id="vbnew_newposts" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&amp;contenttype=vBForum_Post">
Neue Beiträge</a></li>
<li id="vbnew_groupm" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&amp;contenttype=vBForum_SocialGroupMessage">
Neue Diskussionen</a></li>
<li id="vbnew_events" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&amp;contenttype=vBForum_Event">
Neue Termine</a></li>
<li id="vbnew_entries" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&amp;contenttype=vBBlog_BlogEntry">
Neue Blog-Einträge</a></li>
<li id="vbnew_mfr" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/forumdisplay.php?do=markread&amp;markreadhash=guest">
Alle Foren als gelesen markieren</a></li>
</ul>
</li>
<li class="subMenu" id="vbtab_activity"><a class="mainMenu navtab"
href="http://forum.pcgames.de/activity.php">Aktivitäten</a></li>

</ul>
<a target="_blank" alt="www.gamesworld.de" title=
"zur Gamesworld-Startseite" href="http://www.gamesworld.de" class=
"logo partner" rel="nofollow"></a>
<ul class="usermenu guest">
<li><a class="loginbtn" name="login-dialog" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#login-dialog">
Anmelden</a></li>
<li><a class="registerbtn" href=
"http://forum.pcgames.de/register.php">Registrieren</a></li>
</ul>
<div class="clear"></div>
</div>
</div>
<div class="wrapper">
<div class="above_body">
<div id="header" class="floatcontainer doc_header">
<div class="bannerFrame">
<div class="adikett" id="6517819" data-type-id="banner"></div>
</div>
<div class="ad_global_header"></div>
<hr /></div>
</div>
<div class="body_wrapper loggedout">
<div class="skyFrame">
<div class="adikett" id="6517818" data-type-id="sky"></div>
</div>
<div id="breadcrumb" class="breadcrumb">
<ul class="floatcontainer">
<li class="navbithome"><a href="http://forum.pcgames.de/"
accesskey="1"></a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/">Forum</a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/spieleforum/41">Spieleforum</a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/videospiele-allgemein/3470">Videospiele
allgemein</a></li>
<li class="navbit lastnavbit">
<h1><span><a href="javascript:location.reload();" title=
"Seite neu laden">[Erfahrungsaustausch / Spoileralarm] Hilfe - Ich
weiß nicht weiter!</a></span></h1>
</li>
</ul>
<hr /></div>

<div id="above_postlist" class="above_postlist">
<div id="pagination_top" class="pagination_top">

</div>
</div>
<div id="pagetitle" class="pagetitle">
<div id="vbseo-likes"><span class="vbseo-likes-count" onclick=
"vbseoui.tree_dropdown()"><img src=
"http://forum.pcgames.de/vbseo/resources/images/forum/vbseo_likes_heart.png"
class="vbseo-likes-count-image" alt="" />52<em>Gefällt
mir</em></span>
<div id="liketree_1.9326273" class="vbseo-likes-container">
<ul class="vbseo-likes-tabs">
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(0)">Top</a></li>
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(1)">Alle</a></li>
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(2)">Aktuelle Seite</a></li>
</ul>
<ul class="vbseo-likes-list"></ul>
</div>
</div>
</div>
<div id="thread_controls" class="thread_controls toolsmenu">
<div>
<ul id="postlist_popups" class="postlist_popups popupgroup">
<li class="popupmenu" id="threadtools">
<h6><a class="popupctrl" href=
"javascript://">Themen-Optionen</a></h6>
<ul class="popupbody popuphover">
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter-print.html"
accesskey="3" rel="nofollow">Druckbare Version zeigen</a></li>
<li><a href=
"http://forum.pcgames.de/sendmessage.php?do=sendtofriend&amp;t=9326273"
rel="nofollow">Thema weiterempfehlen…</a></li>
<li><a href=
"http://forum.pcgames.de/subscription.php?do=addsubscription&amp;t=9326273"
rel="nofollow">Thema abonnieren…</a></li>
</ul>
</li>
<li class="popupmenu" id="threadrating">
<h6><a class="popupctrl" href="javascript://">Thema
bewerten</a></h6>
<div class="popupbody popuphover">
<form action="http://forum.pcgames.de/threadrate.php" method="post"
id='showthread_threadrate_form'>
<ul>
</ul>
<input type="hidden" name="s" value="" /> <input type="hidden"
name="securitytoken" value="guest" /> <input type="hidden" name="t"
value="9326273" /> <input type="hidden" name="pp" value="20" />
<input type="hidden" name="page" value="1" /></form>
</div>
</li>
</ul>
</div>
</div>
<div id="postlist" class="postlist restrain">
<ol id="posts" class="posts" start="1">
<li class="postbitlegacy postbitim postcontainer old" id=
"post_9651357">
<div class="posthead"><span class="postdate old"><span class=
"date">23.10.2013,&#160;<span class=
"time">15:06</span></span></span> <span class=
"nodecontrols"><a name="post9651357" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#post9651357"
class="postcounter">#1</a><a id="postcount9651357" name=
"1"></a></span></div>
<div class="postdetails">
<div class="userinfo">
<div class="userdetails hasavatar">
<div class="username_container">
<div class="popupmenu memberaction"><a rel="nofollow" class=
"username offline" href=
"http://forum.pcgames.de/members/2905424-monalye.html" title=
"Monalye ist offline"><strong>Monalye</strong></a></div>
<img class="inlineimg onlinestatus" src=
"http://forum.pcgames.de/themecrate/debutant/statusicon/user-offline.png"
alt="Monalye ist offline" border="0" /></div>
<span class="usertitle">Erfahrener Benutzer</span></div>
<a rel="nofollow" class="postuseravatar" href=
"http://forum.pcgames.de/members/2905424-monalye.html" title=
"Monalye ist offline"><img src=
"http://forum.pcgames.de/customavatars/avatar2905424_9.gif" alt=
"Avatar von Monalye" title="Avatar von Monalye" /></a>
<hr />
<dl class="userinfo_extra">
<dd>
<div class="post_field">
<dl>
<dt>Registriert seit</dt>
<dd>29.09.2012</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Ort</dt>
<dd>Österreich</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Beiträge</dt>
<dd>2.482</dd>
</dl>
</div>
<div class="imlinks"></div>
</dd>
</dl>
<div class="clear"></div>
</div>
<div class="postbody">
<div class="postrow has_after_content">
<h2 class="title icon">[Erfahrungsaustausch / Spoileralarm] Hilfe -
Ich weiß nicht weiter!</h2>
<div class="content">
<div id="post_message_9651357">
<blockquote class="postcontent restore">Nachdem es sich nun schon
ein paar mal ergeben hat, das in den verschiedensten Topics um
Walktrough's und Hilfe gebeten wurde (sehr oft von mir <img src=
"http://forum.pcgames.de/images/smilies/default/sm_;-).gif" border=
"0" alt="" title="; )" class="inlineimg" /> ) hab ich nun
beschlossen, den Tipp von LC anzunehmen und einen entsprechenden
Thread zu eröffnen.<br />
<br />
Wann immer man bei einem Spiel nicht mehr weiter kommt, irgendetwas
nicht findet oder Tipps zu schwierigen Erfolgen oder Trophäen
braucht, kann man hier nun um Hilfe bitten.<br />
<br />
Tja um auch gleich den Anfang zu machen ergab sich grade "zufällig"
ein Problem, bei dem ich nicht weiter weiß.<br />
Ich spiele ja gerade Darksiders II, nachdem ich die 3 Lebenssteine
für die goldene Arena gesammelt habe, stehe ich nun vor einem
Bossgegner, nämlich Gnashor. Ich bin nach dieser Komplettlösung
vorgegangen<br />
<a rel="nofollow" href=
"http://www.eurogamer.de/articles/2012-08-14-darksiders-2-loesung-tipps-guide?page=24"
target="_blank">Darksiders 2 Komplettlösung - Die goldene Arena
dritter Lebenstein - Bosskampf Arena Champion Gnashor &amp;bull;
Eurogamer.de</a><br />
hab' aber bei meinem Kampf festgestellt, das sich das blöde Biest
wieder selbst hochheilt... und so bekomm' ich den nie tot <img src=
"http://forum.pcgames.de/images/smilies/default/sm_B-(.gif" border=
"0" alt="" title=":(" class="inlineimg" /><br />
Im Grunde dresche ich permanent auf ihn ein, da ich sehr gute
Verteidigungswerte und gute Ausrüstungsgegenstände habe, ertrage
ich das recht gut. Damit konnte ich ihm gleich mal ein Drittel
Leben runterklopfen, doch kaum brauch ich mal 2 - 3 Sekunden, bis
ich wieder an ihm dran bin, heilt er sich in der Zwischenzeit
wieder rauf... und davon steht einfach nirgends was<br />
Egal wie oft ich das Internet befragt habe und Lösungen zu dem Boss
gelesen habe, nirgends steht was, das der sich hoch heilt <img src=
"http://forum.pcgames.de/images/smilies/default/sm_B-(.gif" border=
"0" alt="" title=":(" class="inlineimg" /><br />
Wie habt ihr das gemacht und mache ich irgendwas falsch, das der
sich deshalb hochheilen kann?</blockquote>
</div>
</div>
</div>
<div class="after_content">
<blockquote class="postcontent lastedited">Geändert von Herbboy
(14.11.2013 um <span class="time">00:24</span> Uhr)</blockquote>
<div class="vbseo_buttons" id="lkbtn_1.9326273.9651357">
<div class="vbseo_liked"><a href=
"http://forum.pcgames.de/members/1070857-lordcrash.html">LordCrash</a>
hat "Gefällt mir" geklickt.</div>
</div>
</div>
<div class="cleardiv"></div>
</div>
</div>
<div class="postfoot">

</div>
<hr />
<ul>

</ul>
</li>
<li class="postbitlegacy postbitim postcontainer old" id=
"post_9651373">
<div class="posthead"><span class="postdate old"><span class=
"date">23.10.2013,&#160;<span class=
"time">15:37</span></span></span> <span class=
"nodecontrols"><a name="post9651373" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#post9651373"
class="postcounter">#2</a><a id="postcount9651373" name=
"2"></a></span></div>
<div class="postdetails">
<div class="userinfo">
<div class="userdetails hasavatar">
<div class="username_container">
<div class="popupmenu memberaction"><a rel="nofollow" class=
"username offline" href=
"http://forum.pcgames.de/members/1145245-hawkins.html" title=
"Hawkins ist offline"><strong>Hawkins</strong></a></div>
<img class="inlineimg onlinestatus" src=
"http://forum.pcgames.de/themecrate/debutant/statusicon/user-offline.png"
alt="Hawkins ist offline" border="0" /></div>
<span class="usertitle">Erfahrener Benutzer</span></div>
<a rel="nofollow" class="postuseravatar" href=
"http://forum.pcgames.de/members/1145245-hawkins.html" title=
"Hawkins ist offline"><img src=
"http://forum.pcgames.de/customavatars/avatar1145245_1.gif" alt=
"Avatar von Hawkins" title="Avatar von Hawkins" /></a>
<hr />
<dl class="userinfo_extra">
<dd>
<div class="post_field">
<dl>
<dt>Registriert seit</dt>
<dd>27.08.2004</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Beiträge</dt>
<dd>586</dd>
</dl>
</div>
<div class="imlinks"></div>
</dd>
</dl>
<div class="clear"></div>
</div>
<div class="postbody">
<div class="postrow has_after_content">
<div class="content">
<div id="post_message_9651373">
<blockquote class="postcontent restore">Das Video sollte
helfen:<br />
<br />
<a rel="nofollow" href="http://www.youtube.com/watch?v=tW47BQFzJcw"
target="_blank">Darksiders 2 - Gnashor Boss Fight -
YouTube</a><br />
<br />
<br />
Du musst ihm am Kopf packen, damit wird er auf den Boden geworfen
und die "Wurmphase" startet wieder ohne das er sich
heilt.</blockquote>
</div>
</div>
</div>
<div class="after_content">
<div class="vbseo_buttons" id="lkbtn_1.9326273.9651373">
<div class="vbseo_liked" style="display:none"></div>
</div>
</div>
<div class="cleardiv"></div>
</div>
</div>
<div class="postfoot">
<div class="textcontrols floatcontainer"><span class=
"postcontrols"><img style="display:none" id="progress_9651373" src=
"http://forum.pcgames.de/themecrate/debutant/misc/progress.gif"
alt="" /> <a id="qrwq_9651373" class="newreply" href=
"http://forum.pcgames.de/newreply.php?do=newreply&amp;p=9651373"
rel="nofollow" title="Zitieren"><img id="quoteimg_9651373" src=
"http://forum.pcgames.de/clear.gif" alt="Zitieren" />
Zitieren</a></span></div>
</div>
<hr /></li>

</ol>
<div class="separator"></div>
<div class="postlistfoot"></div>
</div>
<div id="below_postlist" class="noinlinemod below_postlist">
<div id="pagination_bottom" class="pagination_bottom">

<div class="clear"></div>

<div class="clear"></div>
</div>
</div>

<div id="thread_info" class="thread_info block">
<div id="similar_threads">
<h4 class="threadinfohead blockhead">Ähnliche Themen</h4>
<div id="similar_threads_list" class=
"thread_info_block blockbody formcontrols">
<ol class="similar_threads">
<li class="floatcontainer">
<div class="titleblock">

<div class="starter_forum">Von Graho im Forum PC-Plattform
Allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 2
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 27.07.2006, <span class="time">01:12</span></div>
</div>
</li>
<li class="floatcontainer">
<div class="titleblock">

<div class="starter_forum">Von Tammy83 im Forum Videospiele
allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 7
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 13.07.2006, <span class="time">09:59</span></div>
</div>
</li>
<li class="floatcontainer">
<div class="titleblock">

<div class="starter_forum">Von Killingthefly im Forum PC-Plattform
Allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 5
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 30.10.2004, <span class="time">18:10</span></div>
</div>
</li>
</ol>
</div>
</div>
<div class="options_block_container">
<div class="options_block">
<h4 class="collapse blockhead options_correct"><a class="collapse"
id="collapse_posting_rules" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#top">
<img src=
"http://forum.pcgames.de/themecrate/debutant/buttons/collapse_40b.png"
alt="" /></a> Berechtigungen</h4>
<div id="posting_rules" class=
"thread_info_block blockbody formcontrols floatcontainer options_correct">
<div id="forumrules" class="info_subblock">

<div class="bbcodeblock">

</div>
<p class="rules_link"><a rel="nofollow" href=
"http://forum.pcgames.de/misc.php?do=showrules" target=
"_blank">Foren-Regeln</a></p>
</div>
</div>
</div>
</div>
</div>
<div style="clear: left"></div>
</div>
</div>
</div>
</div>
<div id="footer-container">
<div id="footer" class="floatcontainer footer">
<div class="wrapper">
<form action="http://forum.pcgames.de/" method="get" id=
"footer_select" class="footer_select"></form>

</div>
</div>
<div class="below_body">
<div class="wrapper">
<div class="left">


</div>
<div class="right">
<div class="socialicons"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>

</body>
</html>

预期的输出应该是:

<content> content1 </content>
<content> content2 </content>

等等。

如何修改样式表以应用于多个 post 内容?

使用当前模板,您正在匹配 / 文档节点,并为此输出单个 content 标签。然而,更重要的是,在 XSLT 1.0 中,如果您在选择多个节点时执行 xsl:value-of,它只会显示集合中第一个节点的输出。

在之前对问题的编辑中,您实际上更接近于解决方案。你需要做的是这个...

<xsl:template match="/">
    <xsl:for-each select="//xhtml:blockquote[@class='postcontent restore']">
        <content>
            <xsl:value-of select="."/>
        </content>
    </xsl:for-each>
</xsl:template>

如果您执行了 <xsl:value-of select="//xhtml:blockquote[@class='postcontent restore']"/>,那么这将忽略您当前所在的 blockquote,并再次获取文档中的第一个 blockquote。做 <xsl:value-of select="."/> 确实得到了当前节点的值(在 xsl:for-each 中选择),这就是你想要的。

虽然使用模板方法可能会稍微好一些,尤其是当您要提取更多内容时,因为它应该避免样式表缩进太多:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no" />

<xsl:template match="/">
    <xsl:apply-templates select="//xhtml:blockquote[@class='postcontent restore']" />
</xsl:template>

<xsl:template match="xhtml:blockquote">
    <content>
        <xsl:value-of select="."/>
    </content>
</xsl:template>
</xsl:stylesheet>