XSLT を使用して著者名で参考文献を並べ替えようとしています。ただし、著者の姓は、テキストの種類 (本、雑誌など) に応じて、xml 構造のさまざまな場所に表示されます。
データは次のとおりです。
<biblStruct type="book" xml:id="Swanson2002">
<monogr>
  <title>Universities, academics and the Great Schism</title>
  <author>
    <forename>R. N</forename>
    <surname>Swanson</surname>
  </author>
  <imprint>
    <pubPlace>Cambridge</pubPlace>
    <biblScope type="vol">12</biblScope>
    <publisher>Cambridge Univ Pr</publisher>
    <date>2002</date>
    <note type="accessed">2012-07-06 18:34:53</note>
    <note type="url">http://books.google.com/books?hl=en&lr=&id=9AUE425_1xYC&oi=fnd&pg=PR8&dq=Swanson,+Univiersities+Plaoul&ots=EdkhHvSExW&sig=tFOJKFi2myNWhkR_Rl4XE-cQcSc</note>
  </imprint>
</monogr>
<note type="tags">
  <note type="tag">Petrus Plaoul</note>
</note>
 <idno type="ISBN">0521522269</idno>
</biblStruct>
<biblStruct type="journalArticle" xml:id="Maier1958">
<analytic>
  <title>Zu einigen Sentenzenkommentaren des XIV Jahrunderts</title>
  <author>
    <forename>A.</forename>
    <surname>Maier</surname>
  </author>
</analytic>
<monogr>
  <title>Archivum franciscanum historicum</title>
  <imprint>
    <biblScope type="vol">51</biblScope>
    <biblScope type="pp">405-409</biblScope>
    <date>1958</date>
  </imprint>
</monogr>
<note type="tags">
  <note type="tag">Hard Copy Obtained</note>
</note>
</biblStruct>
<biblStruct type="bookSection" xml:id="Kaluza1995">
<analytic>
  <title>Les débuts de l'Albertisme tardif (Paris et Cologne)</title>
  <author>
    <forename>Zenon</forename>
    <surname>Kaluza</surname>
  </author>
</analytic>
<monogr>
  <title>Albertus Magnus und der Albertismus</title>
  <imprint>
    <pubPlace>Leiden</pubPlace>
    <biblScope type="pp">207-295</biblScope>
    <publisher>Brill</publisher>
    <date>1995</date>
  </imprint>
</monogr>
</biblStruct>
これが私のXSLTテンプレートです
 <xsl:template match="tei:listBibl">
    <xsl:for-each select="./tei:biblStruct">
        <xsl:sort select="./tei:monogr/tei:author/tei:surname"/>
    </xsl:for-each/>
 </xsl:template/>
現在、これはエントリのみをソートします@type=monogr 
私もこれを試しましたが、うまくいきません:
<xsl:sort select="./tei:monogr/tei:author/tei:surname or     ./tei:analytic/tei:author/tei:surname"/>