Как извлечь несколько элементов сайта HTML с помощью XSLT? - PullRequest
0 голосов
/ 26 февраля 2019

Я хочу извлечь несколько элементов из XHTML-сайта.Мне удается идентифицировать и пометить один элемент, но как только появляются две секунды, в выводе не отображается.

XHTML-Site-Example

<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>

XSLT-таблица стилей

<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:template match="xhtml:span[@class='nodecontrols']/xhtml:a">
        <url>
            <xsl:value-of select="@href"/>
        </url>
</xsl:template>

</xsl:stylesheet>

Приведенная выше таблица стилей приводит к

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

Ожидаемый результат должен быть

<content> content1 </content>
<url> url1 </content>
<content> content2 </content>
<url> url2 </content>

Как я могу изменить таблицу стилей, чтобы сделать то, что я ожидаю?

1 Ответ

0 голосов
/ 26 февраля 2019

Для сопоставления шаблона необходимо сначала выбрать что-то, совпадающее с xsl:apply-templates (или полагаться на встроенные шаблоны XSLT).Однако в исходном шаблоне, который соответствует /, вы выбираете только элементы blockquote, но больше не xsl:apply-templates.Как следствие, шаблон для "nodecontrols" никогда не будет сопоставлен, так как ничто никогда не пытается выбрать эти элементы.

Что вы можете сделать, это, в основном шаблоне ...

 <xsl:apply-templates select="//xhtml:span[@class='nodecontrols']/xhtml:a|//xhtml:blockquote[@class='postcontent restore']" />

Но это не даст вам желаемых результатов, так как при этом выбираются узлы в порядке документа, а "nodecontrols" предшествует blockquote.

Из рассмотрения структуры XHTML,два разных элемента находятся под одним и тем же элементом li.Итак, в шаблоне, который соответствует blockquote, вам нужно выбрать ссылку следующим образом:

<xsl:apply-templates select="ancestor::xhtml:li[1]//xhtml:span[@class='nodecontrols']/xhtml:a[1]" />

(здесь я использую a[1], так как в span есть два элемента aпод ним).

Попробуйте это XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="xhtml">
    <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:apply-templates select="ancestor::xhtml:li[1]//xhtml:span[@class='nodecontrols']/xhtml:a[1]" />
    </xsl:template>

    <xsl:template match="xhtml:a">
        <url>
            <xsl:value-of select="@href"/>
        </url>
    </xsl:template>
</xsl:stylesheet>
...