1

我已经用这个把头撞在墙上一段时间了。看起来很简单,但我尝试的任何方法似乎都没有解决,也许一些专家的眼睛可以阐明这个问题。

我有一组 xml 文档(它们实际上是 TEI 编码的字母)。每个 xml 文档都包含对人员的引用。这些引用用 persName 标记表示。每个 persName 也由一个 ref 属性标识。每个字母中还有一个包含,其中包含有关每个 persName 的传记信息。

我想做的是让信中的每个名字都成为一个可点击的链接,打开一个新窗口或弹出窗口,在那个窗口中将是关于你刚刚点击的人的正确传记信息.

这是使用 refs 找到 persNames 并将它们包装在带有一点 js 的 a 标签中以打开一个新窗口的 XSL(如果那里的某个天才知道一种方法,我没有结婚新窗口打开显示在漂亮的灯箱或其他东西中,甚至更好)。

   <xsl:template match="*:persName[@ref]">
  <!-- surround each persname with an a tag with a specific ID -->
  <head>
  </head>
  <a>
     <xsl:attribute name="href">javascript://</xsl:attribute>
     <xsl:attribute name="onclick">
        <xsl:text>javascript:window.open('</xsl:text><xsl:value-of select="$xtfURL"/><xsl:value-of select="$dynaxmlPath"/><xsl:text>?docId=</xsl:text><xsl:value-of
           select="$docId"/><xsl:text>;doc.view=personpopup;?pers=</xsl:text><xsl:value-of select="@ref"></xsl:value-of><xsl:text>','Personography','width=800,height=400,modal=yes,alwaysRaised=yes')</xsl:text>
     </xsl:attribute>
     <xsl:value-of select="*"></xsl:value-of>
  </a>

单击链接后,我们将转到此处显示的 personpopup 模板

   <xsl:template name="personpopup">
  <html>
     <head>         
        <!-- SCRIPT TO GRAB PERS FROM URL AND MATCH IT IN THE PERSONOGRAPHY -->
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">

           var currenturl = window.location.href;
           var currentperson = currenturl.substring(currenturl.indexOf('pers=#') + 6);

           document.write(currentperson);

        </script>
        <title></title>
     </head>
     <body>
        <p>
           <h3><xsl:value-of select="/*/*:text/*:body/*:div[@type='ographies']/*:listPerson/*:person[@ref'personclicked']/*:info"></xsl:value-of></h3>
           <a>
              <xsl:attribute name="href">javascript://</xsl:attribute>
              <xsl:attribute name="onClick">
                 <xsl:text>javascript:window.close('popup')</xsl:text>
              </xsl:attribute>
              Close this Window
           </a>
        </p>
     </body>
  </html>

标头中的 js 代码是尝试将 ref 变量转移到新窗口的一部分。js 代码“知道”谁被点击,并在新窗口弹出时显示正确的 ref,但我不确定如何使用该变量来为那个人提取正确的信息点击。有任何想法吗?

4

0 回答 0