home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / building / xmlspy / xmlspyentcomplete5.exe / Data1.cab / _5F994709189047CAA0ED8655DF1A95BB < prev    next >
Encoding:
Extensible Markup Language  |  2002-08-26  |  44.5 KB  |  1,085 lines

  1. <xsl:stylesheet version="1.0" exclude-result-prefixes="msxsl local doc" extension-element-prefixes="msxsl local" xmlns:doc="urn:schemas-uspto-gov:document" xmlns:local="#local-functions" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2.  
  3.  
  4. <!-- *** these are imported for documentation purposes only! *** -->
  5. <!-- *** see 'xsl:include' elements at the bottom of this file *** -->
  6. <xsl:import href="pap_noscript.xsl"/>
  7. <xsl:import href="figures_detail.xsl"/>
  8. <xsl:import href="figures_noscript.xsl"/>
  9.                 
  10.  
  11.  
  12.  
  13. <xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
  14.  
  15. <xsl:preserve-space elements="*"/>
  16.  
  17. <xsl:template match="*">
  18.     <xsl:apply-templates/> 
  19. </xsl:template>
  20.  
  21. <xsl:template match="/">
  22.     <html>
  23.         <head>
  24.             <xsl:call-template name="css_styles"/>
  25.     <script language="JScript"><xsl:comment>
  26.     function loadNewDoc(node){
  27.     try {
  28.         var myloc, myNewLoc, myPI, stylePI, newStylePI, r, re, styleNode;
  29.  
  30.         var mydoc = new ActiveXObject("Msxml2.DOMDocument");
  31.         var myNewDoc = new ActiveXObject("Msxml2.DOMDocument");
  32.             myNewDoc.loadXML("<figure></figure>");
  33.             root = myNewDoc.documentElement; // <figure/>
  34.             myloc = new String(window.location);
  35.             myNewLoc = myloc.substr(8); 
  36.  
  37.         var myImages = document.XMLDocument.getElementsByTagName("figure/image");
  38.             for (var i=0;i<myImages.length;i++){
  39.                 myNewDoc.documentElement.appendChild(myImages(i));
  40.         }
  41.  
  42.         for (var i=0;i<document.XMLDocument.documentElement.parentNode.childNodes.length;i++){
  43.             if (document.XMLDocument.documentElement.parentNode.childNodes(i).nodeName == "xml-stylesheet") {
  44.                 stylePI = document.XMLDocument.documentElement.parentNode.childNodes(i).text;
  45.  
  46.                 // test whether pap.xsl or pap_full.xsl is used;
  47.                 if (stylePI.indexOf("full") == -1)
  48.                     re = /pap/g;
  49.                     else
  50.                     re = /pap_full/g;
  51.                 r = stylePI.replace(re,"figures_detail");
  52.                 newStylePI = myNewDoc.createProcessingInstruction("xml-stylesheet",r);
  53.                 }
  54.             }
  55.             styleNode = myNewDoc.insertBefore(newStylePI,root);
  56.  
  57.         // save new file to same directory        
  58.         
  59.             var fileName = "";
  60.             var href= myNewLoc;
  61.             var s = href.split("/");
  62.             for (var i=0;i<(s.length);i++) { 
  63.             fileName=s[i]; 
  64.             }
  65.             var locLen = myNewLoc.length;
  66.             var fileLen = fileName.length;
  67.             var path = myNewLoc.substr(0,(locLen-fileLen));
  68.             
  69.         // now write to a file that can be opened in new browser
  70.         var fso = new ActiveXObject("Scripting.FileSystemObject");
  71.         var a = fso.CreateTextFile(path + "images.xml", true);
  72.         a.Write(myNewDoc.xml);
  73.         a.Close();
  74.             
  75.         var newWin = window.open(path + "images.xml");
  76.     
  77.     }
  78.     
  79.     catch(e) {
  80.         window.alert ("An error has occurred.  Please use the stylesheet 'pap_noscript.xsl'");    
  81.     }
  82. }    
  83.  
  84.  
  85.     </xsl:comment>
  86.     </script>
  87.     </head>
  88.         
  89.         <body>
  90.         <basefont face="Arial Unicode MS, Lucida Sans Unicode, Times New Roman " size="2">
  91.         <div style="margin-left: +35pt;">
  92.             <xsl:apply-templates select=".//subdoc-bibliographic-information | .//subdoc-abstract | .//subdoc-description | .//sequence-cwu | .//subdoc-claims"/>
  93.         </div>
  94.         </basefont>
  95.         </body>
  96.     </html>
  97. </xsl:template>
  98.  
  99.     <!-- *** top-level block (document head) *** -->
  100.  
  101.     <xsl:template match="subdoc-bibliographic-information">
  102.         <xsl:param name="subdoc-year">
  103.             <xsl:value-of select="substring(.//document-date,1,4)"/>
  104.         </xsl:param>
  105.         <xsl:param name="subdoc-month">
  106.             <xsl:value-of select="substring(.//document-date,5,2)"/>
  107.         </xsl:param>
  108.         <xsl:param name="subdoc-day">
  109.             <xsl:value-of select="substring(.//document-date,7,2)"/>
  110.         </xsl:param>
  111.  
  112.         <xsl:param name="filing-year">
  113.             <xsl:value-of select="substring(.//filing-date,1,4)"/>
  114.         </xsl:param>
  115.         <xsl:param name="filing-month">
  116.             <xsl:value-of select="substring(.//filing-date,5,2)"/>
  117.         </xsl:param>
  118.         <xsl:param name="filing-day">
  119.             <xsl:value-of select="substring(.//filing-date,7,2)"/>
  120.         </xsl:param>
  121.          
  122.  
  123.      <table width="90%" border="0">
  124.                 <tr>
  125.                 <!-- ***** barcode info ***** -->
  126.                 <td class="bar" align="right">*<xsl:value-of select=".//doc-number"/><xsl:value-of select=".//kind-code"/>*</td>        
  127.                 </tr>
  128.         </table>
  129.         <xsl:variable name="doc_len" select="string-length(.//document-id/doc-number)"/>
  130.         <xsl:variable name="pubno_1" select="substring(.//document-id/doc-number,1,4)"/>            
  131.         <xsl:variable name="pubno_2" select="substring(.//document-id/doc-number,3,$doc_len)"/>            
  132.  
  133.         <table width="90%" border="0">
  134.             <tr>
  135.                 <td class="headinfo_large" width="43%">
  136.                     <b>Patent Application Publication</b> ┬á┬á<font size="-1" weight="normal">(12)</font>
  137.                 </td>
  138.                 <td class="table_data" width="27%">
  139.                     (10) ┬á┬á┬á┬á<b>Publication Number: </b>
  140.                 </td>
  141.                 <td class="table_data" width="30%" align="right">
  142.                     <b>US <xsl:value-of select="$pubno_1"/>-<xsl:value-of select="$pubno_2"/>
  143.                     <xsl:text>┬á</xsl:text>
  144.                         <xsl:value-of select=".//kind-code"/>
  145.                     </b>                
  146.                 </td>
  147.             </tr>
  148.             <tr>
  149.                 <td class="headinfo_reg">
  150.                     <b><xsl:value-of select=".//first-named-inventor//family-name"/></b>
  151.                 </td>
  152.                 <td class="table_data">(43)┬á┬á┬á┬á <b>Publication Date:</b> </td>
  153.                 <td class="headinfo_reg" align="right"><xsl:value-of select="$subdoc-year"/>-<xsl:value-of select="$subdoc-month"/>-<xsl:value-of select="$subdoc-day"/></td>
  154.             </tr>
  155.         </table>
  156.         <hr width="100%"/>
  157.         <!-- end doc header -->
  158.         
  159.         <!-- bibliographic info -->
  160.         <table width="90%" border="0">
  161.         <tr><td width="10%"/><td width="15%"/><td width="*"/></tr>
  162.             <tr><td class="table_data">(54)</td>
  163.                 <td colspan="2" style="text-transform: uppercase"><b><xsl:value-of select="//title-of-invention"/></b></td>
  164.                 <td/>
  165.             </tr>
  166.             <tr><td class="table_data">(76)</td>
  167.                 <td class="table_data">
  168.                     INVENTOR: 
  169.                 </td>
  170.                 <td class="table_data">
  171.                  <b><xsl:apply-templates select=".//first-named-inventor/name"/>,</b> 
  172.                  ┬á<xsl:value-of select=".//first-named-inventor/residence//city"/>
  173.                     <xsl:text>┬á</xsl:text>
  174.                     <xsl:value-of select=".//first-named-inventor/residence//state"/>
  175.                     <xsl:text>┬á</xsl:text>
  176.                     (<xsl:value-of select=".//first-named-inventor/residence//country-code"/>)
  177.                     </td>
  178.             </tr>
  179.             <tr><td/>
  180.             <xsl:variable name="appno_1" select="substring(.//application-number/doc-number,1,2)"/>            
  181.             <xsl:variable name="appno_2" select="substring(.//application-number/doc-number,3,8)"/>            
  182.             
  183.             <td class="table_data" colspan="2"><xsl:apply-templates select="correspondence-address"/></td></tr>
  184.             <tr><td class="table_data">(21)</td>
  185.                 <td class="table_data">Appl. No.: </td>
  186.                 <td class="table_data"><b><xsl:value-of select="$appno_1"/>/<xsl:value-of select="format-number($appno_2,'###,###')"/></b></td>
  187.             </tr>
  188.             <tr><td class="table_data">(22)</td>
  189.                 <td class="table_data">Filed: </td>
  190.                 <td class="table_data"><b><xsl:value-of select="$filing-year"/>-<xsl:value-of select="$filing-month"/>-<xsl:value-of select="$filing-day"/></b></td>
  191.             </tr>
  192.             
  193.             <table width="50%" border="0">
  194.                 <xsl:if test="//foreign-priority-data">
  195.                     <xsl:call-template name="foreign_data"/>    
  196.                 </xsl:if>
  197.             </table>
  198.                 <xsl:call-template name="tech_info"/>
  199.             <tr><td>┬á</td></tr>
  200.             <tr><td>┬á</td></tr>
  201.             <xsl:apply-templates select="appendix-data"/>
  202.         </table>
  203.     </xsl:template>
  204.     
  205.     
  206. <xsl:template match="subdoc-description">
  207.     <div class="smalltitle">
  208.         <xsl:value-of select="//title-of-invention"/>
  209.     </div>
  210.         <xsl:apply-templates/>
  211. </xsl:template>
  212.  
  213. <xsl:template match="copyright-statement">
  214.         <div style="margin-bottom:  1pc;                     margin-left:    +10pt;">
  215.                <xsl:apply-templates/>
  216.         </div>
  217. </xsl:template>
  218.  
  219. <xsl:template match="cross-reference-to-related-applications">
  220.         <div style="margin-bottom:  1pc;                     margin-left:    +10pt;">
  221.                <xsl:apply-templates/>
  222.         </div>
  223. </xsl:template>
  224.  
  225.     <xsl:template match="cross-reference">
  226.       <b>
  227.            <xsl:choose>
  228.                <xsl:when test="@target='DRAWINGS'">
  229.                 <a href="javascript:loadNewDoc(this);">
  230.                    <xsl:apply-templates/>
  231.                 </a>
  232.              </xsl:when>
  233.              <xsl:otherwise>
  234.                 <a href="#{@target}">
  235.                    <xsl:apply-templates/>
  236.                 </a>
  237.              </xsl:otherwise>
  238.        </xsl:choose>
  239.       </b>
  240.     </xsl:template>
  241.  
  242.  
  243.  
  244.     <xsl:template name="foreign_data">
  245.         <xsl:param name="foreign-year">
  246.             <xsl:value-of select="substring(foreign-priority-data/filing-date,1,4)"/>
  247.         </xsl:param>
  248.         <xsl:param name="foreign-month">
  249.             <xsl:value-of select="substring(foreign-priority-data/filing-date,5,2)"/>
  250.         </xsl:param>
  251.         <xsl:param name="foreign-day">
  252.             <xsl:value-of select="substring(foreign-priority-data/filing-date,7,2)"/>
  253.         </xsl:param>
  254.     
  255.         <tr>
  256.             <td class="table_data" width="9%">(30)</td>
  257.             <td class="table_data" colspan="3" align="center"><b>Foreign Application Priority Data</b></td>
  258.         </tr>
  259.         <tr><td/>
  260.             <td class="table_data"><!--xsl:value-of select="foreign-priority-data/filing-date"/-->
  261.             <xsl:value-of select="$foreign-year"/>-<xsl:value-of select="$foreign-month"/>-<xsl:value-of select="$foreign-day"/></td>
  262.             <td class="table_data"><xsl:value-of select="foreign-priority-data/country-code"/></td>
  263.             <td class="table_data" align="right"><xsl:value-of select=".//priority-application-number/doc-number"/></td>
  264.         </tr>
  265.     </xsl:template>
  266.     
  267.     <xsl:template name="tech_info">
  268.     <table width="50%" border="0" cellpadding="0" cellspacing="0">
  269.         <tr>
  270.             <td width="9%"/>
  271.             <td class="table_data" colspan="4" align="center"><b>Publication Classification</b></td>
  272.         </tr>
  273.         <tr><td class="table_data">(51)</td>
  274.             <td class="table_data" width="15%"><b>Int. Cl.: </b></td>
  275.             <td/>
  276.                 <xsl:call-template name="classifications_ipc"/>
  277.         </tr>
  278.         <tr><td class="table_data">(52)</td>
  279.             <td class="table_data"><b>U.S. Cl.:</b></td>
  280.             <td/>
  281.                 <xsl:call-template name="classifications_us"/>
  282.         </tr>
  283.     </table>
  284.     </xsl:template>
  285.  
  286.     <!-- hide MathML components -->
  287.     <xsl:template match="//math/*"/>
  288.     
  289.      <xsl:template match="representative-figure">
  290.          Representative Figure: <xsl:value-of select="."/>
  291.      </xsl:template>
  292.     
  293.     <xsl:template match="text()">
  294.         <xsl:value-of select="."/>
  295.     </xsl:template>
  296.  
  297. <!-- include component stylesheets, overriding subsequent declarations -->
  298.  
  299. <xsl:template match="abstract-of-disclosure | subdoc-abstract" doc:public="yes" doc:description="In specification, inserts the title-of-invention above the abstract.  If there is no heading above the abstract, a heading of "Abstract" is inserted.">
  300.         <div class="break_before_after">
  301.             <xsl:if test="//specification">
  302.                 <xsl:apply-templates mode="abstract_title" select="//title-of-invention"/>
  303.             </xsl:if>
  304.             <xsl:choose>
  305.                 <xsl:when test="not(heading)">
  306.                     <table width="90%" border="0">
  307.                     <tr><td width="9%" class="table_data">(57)</td>
  308.                         <td><h3>Abstract</h3></td>
  309.                     </tr>
  310.                     </table>
  311.                 </xsl:when>
  312.                 <xsl:otherwise>
  313.                     <xsl:apply-templates mode="abstract_heading" select="./heading"/>
  314.                 </xsl:otherwise>
  315.             </xsl:choose>
  316.             <xsl:apply-templates mode="abstract_para" select="./paragraph"/>
  317.         </div>
  318.         <xsl:apply-templates mode="drawing-section" select="//subdoc-drawings"/>
  319.     </xsl:template><xsl:template mode="abstract_title" match="title-of-invention" doc:public="yes" doc:description="modal template for printing title-of-invention before the abstract paragraph">
  320.           <h1 align="CENTER" class="title">
  321.             <xsl:apply-templates mode="abstract_heading"/>
  322.         </h1>
  323.     </xsl:template><xsl:template mode="abstract_heading" match="heading">
  324.         <h3 align="center">
  325.             <xsl:apply-templates mode="abstract_para"/>
  326.         </h3>
  327.     </xsl:template><xsl:template mode="abstract_para" match="paragraph">
  328.           <div class="left_para">
  329.             <table border="0" width="100%">
  330.                 <tr>
  331.                     <td width="8%" valign="top">
  332.                         <div class="para_text"/>
  333.                     </td>
  334.                     <td width="85%">
  335.                         <div class="para_text">
  336.                                <xsl:if test="//patent-application-publication">
  337.                                 <!-- [<xsl:value-of select="@id"/>] -->
  338.                             </xsl:if>
  339.                             ┬á┬á┬á                
  340.                             <xsl:apply-templates/>
  341.                         </div>
  342.                     </td>
  343.                     <td/>
  344.                     </tr>
  345.                 </table>
  346.         </div>
  347.     </xsl:template><xsl:template mode="drawing-section" match="*" doc:public="yes" doc:description="Used by patent-application-publication to print <image>s after the abstract and before the rest of the document.">
  348.         <xsl:apply-templates mode="linker" select="//subdoc-drawings"/>
  349.         <xsl:apply-templates/>
  350.     </xsl:template><xsl:template mode="linker" match="//subdoc-drawings" doc:public="yes" doc:description="creates a hyperlink anchor at the subdoc-drawings section.">
  351.         <a name="{@id}"/>
  352.     </xsl:template>
  353. <xsl:template match="address" doc:public="yes" doc:description="Creates a table to format child elements of address.">
  354.         <table width="60%" border="0">
  355.             <tr>
  356.                 <xsl:if test="./military-address">
  357.                     <td class="table_data"><xsl:value-of select="."/></td>
  358.                 </xsl:if>
  359.                 <td class="table_data"><xsl:value-of select="./address-1"/></td>
  360.             </tr>
  361.             <tr>
  362.                 <td class="table_data"><xsl:value-of select="./address-2"/></td>
  363.             </tr>
  364.             <tr>
  365.                 <td class="table_data"><xsl:value-of select="./city"/>,
  366.                     <xsl:text> </xsl:text>
  367.                     <xsl:value-of select="./state"/> 
  368.                     <xsl:text> </xsl:text>
  369.                     <xsl:value-of select="./postalcode"/>,
  370.                     <xsl:text> </xsl:text>
  371.                     <xsl:value-of select="./country/country-code"/>
  372.                 </td>
  373.             </tr>
  374.  
  375.             <xsl:for-each select="./email">
  376.             <tr>
  377.                 <td class="table_data"><xsl:value-of select="."/></td>
  378.             </tr>
  379.             </xsl:for-each>
  380.         
  381.             <xsl:for-each select="./telephone">
  382.                 <tr>
  383.                     <td class="table_data">  <xsl:value-of select="."/></td>
  384.                 </tr>
  385.             </xsl:for-each>
  386.     
  387.             <xsl:for-each select="./fax">
  388.                 <tr>
  389.                     <td class="table_data"><xsl:value-of select="."/></td>
  390.                 </tr>
  391.             </xsl:for-each>
  392.         </table>
  393.     </xsl:template>
  394. <xsl:template match="appendix-data">
  395.         <xsl:apply-templates/>
  396.     </xsl:template><xsl:template match="object-reference">
  397.         <div class="left_para">
  398.         <table border="0" width="90%">
  399.             <tr>
  400.                 <td width="8%" valign="top">┬á </td>
  401.                 <td width="85%">
  402.                     <span class="para_text">
  403.                         <xsl:apply-templates/>
  404.                     </span>
  405.                 </td>
  406.                 <td width="*"/>
  407.             </tr>
  408.         </table>
  409.         </div>
  410.     </xsl:template><xsl:template match="object-id | object-contents | object-description">
  411.             <xsl:text> </xsl:text>
  412.             <xsl:apply-templates/>
  413.     </xsl:template>
  414. <xsl:template match="biological-deposit">
  415.         <xsl:apply-templates/>
  416.     </xsl:template><xsl:template match="deposit-term | depository | deposit-accession-number | deposit-description">
  417.         <xsl:text> </xsl:text>
  418.         <xsl:apply-templates/>
  419.     </xsl:template><xsl:template match="deposit-date">
  420.         <xsl:param name="deposit-year" doc:public="yes" doc:description="assigns the year portion of the <deposit-date> element to a parameter to allow YYYY-MM-DD date formatting.">
  421.             <xsl:value-of select="substring(deposit-date,1,4)"/>
  422.         </xsl:param>
  423.         <xsl:param name="deposit-month" doc:public="yes" doc:description="assigns the month portion of the <deposit-date> element to a parameter to allow YYYY-MM-DD date formatting.">
  424.             <xsl:value-of select="substring(deposit-date,5,2)"/>
  425.         </xsl:param>
  426.         <xsl:param name="deposit-day" doc:public="yes" doc:description="assigns the date portion of the <deposit-date> element to a parameter to allow YYYY-MM-DD date formatting.">
  427.             <xsl:value-of select="substring(deposit-date,7,2)"/>
  428.         </xsl:param>
  429.         <xsl:value-of select="$deposit-year"/>-<xsl:value-of select="$deposit-month"/>-<xsl:value-of select="$deposit-day"/>
  430.     </xsl:template>
  431. <xsl:template match="table-cwu">
  432.         <div style="page-break-inside: avoid; "> 
  433.             [<xsl:value-of select="@id"/>]
  434.             <xsl:apply-templates select="table | Table"/>
  435.         </div>
  436.     </xsl:template><xsl:template match="table | Table">
  437.             <span class="table_head">
  438.                 <xsl:value-of select="./heading"/>
  439.             </span>
  440.  
  441.         <table width="100%" cellpadding="0" cellspacing="0" border="0">
  442.             <tr><td>
  443.                 <xsl:apply-templates select="tgroup | TGroup"/>
  444.             </td></tr>
  445.         </table>
  446.     </xsl:template><xsl:template match="tgroup | TGroup" doc:public="yes" doc:description="This template nests tables within each other, since CALS allows multiple <tgroup>s within one <table> and HTML does not; each <tgroup> from the source document becomes a new table.  See           HTML 4.0, section 11.2.3: "The THEAD, TFOOT, and TBODY sections must contain the same number of columns".">
  447.  
  448.     <table cellpadding="0" cellspacing="0">
  449.     
  450.         <xsl:attribute name="rules">
  451.             <xsl:value-of select="ancestor-or-self::table[1]/@frame | ancestor-or-self::Table[1]/@frame"/>
  452.         </xsl:attribute>
  453.         
  454.         <!-- this will hide the box around a table -->
  455.         <!--xsl:if test="ancestor::table[1]/@frame='none'">
  456.             <xsl:attribute name="border">0</xsl:attribute>
  457.         </xsl:if-->
  458.  
  459.         <colgroup>
  460.             <xsl:apply-templates select="colspec"/>
  461.         </colgroup>
  462.         <thead>
  463.             <xsl:apply-templates select="thead"/>
  464.         </thead>
  465.             <xsl:apply-templates select="tbody | TBody"/>
  466.     </table>
  467.     </xsl:template><xsl:template match="tbody | TBody">
  468.         <tbody valign="{@valign}">
  469.             <xsl:apply-templates/>
  470.         </tbody>
  471.     </xsl:template><xsl:template match="thead">
  472.         <xsl:apply-templates/>
  473.     </xsl:template><xsl:template match="colspec">
  474.             <xsl:for-each select="descendant-or-self::colspec">    
  475.                 <col width="{@colwidth}" align="{@align}"/>
  476.                     <xsl:apply-templates/>
  477.             </xsl:for-each>
  478.     </xsl:template><xsl:template match="row | Row">
  479.         <tr>
  480.             <xsl:apply-templates select="entry | Entry"/>
  481.         </tr>
  482.     </xsl:template><xsl:template match="entry | Entry" doc:public="yes" doc:description="This template performs an evaluation to test                                         whether <spanspec> or the "nameend" attribute was used and span table data accordingly">
  483. <xsl:param name="rowname" select="@spanname" doc:public="yes" doc:description="the @spanname of the <entry>; used in evaluation to lookup @nameend of <spanspec>"/>
  484.         <td class="table_data">
  485.             <xsl:if test="@align">
  486.                 <xsl:attribute name="align">
  487.                     <xsl:value-of select="@align"/>
  488.                 </xsl:attribute>
  489.             </xsl:if>
  490.               <xsl:choose>
  491.                 <xsl:when test="@spanname">
  492.                     <xsl:attribute name="colspan">
  493.                         <xsl:value-of select="../../../spanspec[@spanname=$rowname]/@nameend"/>
  494.                     </xsl:attribute>
  495.                 </xsl:when>
  496.                 <xsl:when test="@nameend">
  497.                     <xsl:attribute name="colspan">
  498.                         <xsl:value-of select="@nameend"/>
  499.                     </xsl:attribute>
  500.                 </xsl:when>
  501.             </xsl:choose>
  502.     
  503.         <!-- ***** insert   between <td> and </td> if no content (preserves width) ***** -->
  504.                 <xsl:if test="not(child::*)">
  505.                   ┬á
  506.                 </xsl:if>
  507.                 <xsl:apply-templates/>
  508.             </td>
  509.         </xsl:template>
  510. <xsl:template match="citation">
  511.         <xsl:apply-templates/>
  512.     </xsl:template><xsl:template match="cited-patent-literature">
  513.         <div>
  514.         <xsl:text> </xsl:text>
  515.             <xsl:apply-templates/>
  516.         </div>
  517.     </xsl:template><xsl:template match="cited-non-patent-literature | classification-ipc-edition | ipc | uspc-freeform">
  518.         <xsl:choose>
  519.             <xsl:when test="//specification">
  520.                 <b>    <xsl:apply-templates/>    </b>
  521.             </xsl:when>
  522.             <xsl:when test="//patent-application-publication">
  523.                 <xsl:apply-templates/>
  524.             </xsl:when>
  525.         </xsl:choose>
  526.     </xsl:template><xsl:template match="relevant-section">
  527.         <b> <xsl:apply-templates/>    </b>
  528.     </xsl:template>
  529. <xsl:template match="claims">
  530.         <div class="break_before">
  531.             <xsl:apply-templates/>
  532.         </div>
  533.     </xsl:template><xsl:template match="claim" doc:public="yes" doc:description="specification shows @number; pap shows @id.">
  534.         <div class="left_para">
  535.             <table border="0" width="100%">
  536.             <tr>
  537.                 <td width="8%" valign="top">
  538.                 <a name="{@id}"/>
  539.                 <xsl:choose>
  540.                     <xsl:when test="//specification"><!-- if its the spec -->
  541.                         <div class="text">
  542.                             [c<xsl:value-of select="@number"/>]
  543.                         </div>
  544.                         <td width="70%" valign="top" class="text">
  545.                             <xsl:apply-templates/>
  546.                         </td>
  547.                     </xsl:when>
  548.                     <xsl:when test="//patent-application-publication">
  549.                         <td width="12%" valign="top" align="right" class="para_text" colspan="1">
  550.                             [<xsl:value-of select="substring-after(@id,'CLM-')"/>]
  551.                         </td>
  552.                         <td width="70%" valign="top" class="para_text">
  553.                             <xsl:apply-templates/>
  554.                         </td>
  555.                     </xsl:when>
  556.                 </xsl:choose>
  557.                 </td>
  558.                 <td width="*"/>
  559.                 </tr>
  560.                 </table>
  561.          </div>
  562.      </xsl:template><xsl:template match="claim/claim-text[1]">
  563.         <span style="claim_text">
  564.             <xsl:apply-templates/>
  565.         </span>
  566.     </xsl:template><xsl:template match="claim-text[not(ancestor::dependent-claim-reference)]">
  567.         <div class="claim_text">
  568.             <xsl:apply-templates/>
  569.         </div>
  570.     </xsl:template><xsl:template match="dependent-claim-reference">
  571.             <b><a href="#{@depends_on}"><xsl:apply-templates/></a></b>
  572.     </xsl:template><xsl:template match="markush-group">
  573.         <ul>
  574.             <xsl:apply-templates/>
  575.         </ul>
  576.     </xsl:template><xsl:template match="markush-item">
  577.         <li>
  578.             <xsl:apply-templates/>
  579.         </li>
  580.     </xsl:template>
  581. <xsl:template match="uspc">
  582.         <xsl:value-of select=".//class"/>
  583.         <xsl:text> </xsl:text>
  584.         <xsl:value-of select=".//subclass"/>
  585.     </xsl:template><xsl:template name="classifications_ipc">
  586.     <xsl:choose>
  587.         <xsl:when test="name(technical-information)">
  588.                 <td class="table_data"><b><xsl:value-of select=".//classification-ipc/classification-ipc-primary/ipc"/></b>
  589.                 <xsl:for-each select="descendant::classification-ipc-secondary">;            
  590.                     <xsl:value-of select="."/>                
  591.                 </xsl:for-each>
  592.                 </td>
  593.                 <td class="table_data"><xsl:value-of select=".//classification-ipc/classification-ipc-edition"/></td>
  594.         </xsl:when>
  595.         <xsl:otherwise>
  596.             <b><xsl:value-of select="./classification-ipc-primary/ipc"/></b>
  597.             <xsl:for-each select="descendant::classification-ipc-secondary">;            
  598.                 <xsl:value-of select="."/>                
  599.             </xsl:for-each>
  600.             <xsl:text> </xsl:text><xsl:value-of select="./classification-ipc-edition"/>
  601.         </xsl:otherwise>
  602.     </xsl:choose>
  603.     </xsl:template><xsl:template name="classifications_us">
  604.     <xsl:choose>
  605.         <xsl:when test="name(technical-information)">
  606.                 <td class="table_data">
  607.                 <b><xsl:value-of select=".//classification-us-primary/uspc/class"/>/<xsl:value-of select=".//classification-us-primary/uspc/subclass"/></b>
  608.                 <xsl:for-each select="descendant::classification-us-secondary/uspc">;
  609.                     <xsl:call-template name="us_secondary"/>
  610.                 </xsl:for-each>
  611.                 </td>
  612.                 <xsl:for-each select="descendant::classification-us-secondary/uspc-freeform">
  613.                     <xsl:call-template name="uspc_freeform"/>
  614.                 </xsl:for-each>
  615.         </xsl:when>
  616.         <xsl:otherwise>
  617.                 <b><xsl:value-of select=".//classification-us-primary/uspc/class"/>/<xsl:value-of select=".//classification-us-primary/uspc/subclass"/></b>
  618.                 <xsl:for-each select=".//classification-us-secondary/uspc">;
  619.                     <xsl:call-template name="us_secondary"/>
  620.                 </xsl:for-each>
  621.                 <xsl:for-each select=".//classification-us-secondary/uspc-freeform">
  622.                     <xsl:call-template name="uspc_freeform"/>
  623.                 </xsl:for-each>
  624.         </xsl:otherwise>
  625.     </xsl:choose>
  626.     </xsl:template><xsl:template name="uspc_freeform">
  627.         <tr><td/><td/><td/>
  628.             <td class="table_data"><xsl:value-of select="."/></td>
  629.         </tr>    
  630.     </xsl:template><xsl:template name="us_secondary">
  631.             <xsl:value-of select="class"/>/<xsl:value-of select="subclass"/>                                
  632.     </xsl:template>
  633. <xsl:template match="bold">
  634.         <b> <xsl:apply-templates/> </b>
  635.     </xsl:template><xsl:template match="email">
  636.         <span class="mono"> <xsl:apply-templates/> </span>
  637.     </xsl:template><xsl:template match="emphasis | italic">
  638.         <i> <xsl:apply-templates/> </i>
  639.     </xsl:template><xsl:template match="footnote">
  640.         <font size="-2"><xsl:apply-templates/></font>
  641.     </xsl:template><xsl:template match="heading">
  642.         <h3><xsl:apply-templates/></h3>
  643.     </xsl:template><xsl:template match="highlight| in-line-formula | literal">
  644.         <xsl:apply-templates/>
  645.     </xsl:template><xsl:template match="list-item">
  646.         <div class="list_item">
  647.             <xsl:apply-templates/>        
  648.         </div>    
  649.      </xsl:template><xsl:template match="paragraph">
  650.         <div class="left_para">
  651.         <table border="0" width="100%">
  652.             <tr>
  653.                 <td width="8%" valign="top" class="para_text">
  654.                     <xsl:text> </xsl:text>
  655.                 </td>
  656.             <xsl:choose>
  657.                 <xsl:when test="//patent-application-publication">    
  658.                     <td width="85%" class="para_text">
  659.                         <xsl:if test="@id">
  660.                             [<xsl:value-of select="substring-after(@id,'P-')"/>]    
  661.                             ┬á┬á┬á                
  662.                          </xsl:if>
  663.                         <xsl:apply-templates/>
  664.                     </td>
  665.                  </xsl:when>
  666.                  <xsl:otherwise>
  667.                     <td width="85%" class="para_text">
  668.                         [<xsl:value-of select="@id"/>]    
  669.                         ┬á┬á┬á                
  670.                         <xsl:apply-templates/>
  671.                     </td>
  672.                  </xsl:otherwise>
  673.                 </xsl:choose>
  674.                 <td width="*"/>
  675.             </tr>
  676.         </table>
  677.         </div>
  678.      </xsl:template><xsl:template match="program-listing">
  679.         <div style="margin-bottom:  1pc;                     font-size: 10pt;">
  680.              <pre>
  681.                  <xsl:apply-templates/>
  682.              </pre>
  683.         </div>
  684.     </xsl:template><xsl:template match="section">
  685.         <div style="margin-bottom:  1pc;                     margin-left:    +10pt;">
  686.                <xsl:apply-templates/>
  687.         </div>
  688.     </xsl:template><xsl:template match="smallcaps">
  689.         <span style="font-variant: small-caps;">
  690.             <xsl:apply-templates/>
  691.         </span>
  692.     </xsl:template><xsl:template match="subscript">
  693.         <span style="vertical-align: sub;">
  694.             <xsl:apply-templates/>
  695.         </span>
  696.     </xsl:template><xsl:template match="superscript">
  697.         <span style="vertical-align: super;">
  698.             <xsl:apply-templates/>
  699.         </span>
  700.     </xsl:template><xsl:template match="text()">
  701.         <xsl:value-of select="."/>
  702.     </xsl:template><xsl:template match="title-of-invention">
  703.         <h1 class="title">
  704.             <xsl:apply-templates/>
  705.         </h1>
  706.     </xsl:template>
  707. <xsl:template match="correspondence-address" doc:public="yes" doc:description="inserts different boilerplate text according to doctype.">
  708.     <br/>
  709.         <xsl:choose>
  710.             <xsl:when test="//bibd.transmittal">
  711.                 <b>Correspondence Address (Publish):</b>
  712.             </xsl:when>        
  713.             <xsl:when test="//patent-application-publication">
  714.                 <b>Correspondence Name and Address:</b>
  715.                 <br/>
  716.                 <xsl:apply-templates/>
  717.             </xsl:when>
  718.         </xsl:choose>
  719. </xsl:template><xsl:template match="name-1 | name-2">
  720.         <xsl:apply-templates/>
  721. </xsl:template>
  722. <xsl:template name="css_styles" doc:description="Inserts a <style> element containing a list of CSS styles used by USPTO stylesheets into the <head> section of the resulting HTML document.">
  723. <style type="text/css">
  724.             a     {text-decoration: none;color:blue;}
  725.             
  726.             a:visited {color: blue; }
  727.             
  728.             
  729.             .bar {font-family: Code 39;
  730.                   font-size: 16pt;}
  731.  
  732.             .break_avoid {page-break-inside: avoid;}
  733.             
  734.             .break_before {page-break-before: always;}
  735.             
  736.             .break_before_after {page-break-before: always;
  737.                                  page-break-after: always;}
  738.  
  739.             .claim_text {margin-left: +30pt;
  740.                          font-size: 10pt;
  741.                              line-height: 200%;}
  742.  
  743.             .grant_claim_text {margin-left: +60pt;
  744.                                    line-height: 200%;}
  745.  
  746.             .head {    font-size: 12pt;
  747.                     font-weight: bold;
  748.                       margin-top: 2em;
  749.                       margin-bottom: 2em;}
  750.                       
  751.             heading {margin-top: 3px;
  752.                      margin-bottom: 3px;
  753.                      text-transform: uppercase;}
  754.                      
  755.  
  756.              h3         {margin-top: 3px;
  757.                      margin-bottom: 3px;
  758.                      font-weight: normal;
  759.                      text-align: center;
  760.                      text-transform: uppercase;}
  761.  
  762.                      
  763.                       
  764.             .headinfo_large {font-size: 12pt;}
  765.                              
  766.             .headinfo_reg   {font-size: 10pt;
  767.                              font-weight: bold;}
  768.  
  769.  
  770.             .left_para {margin-top: 8px;
  771.                         margin-bottom: 8px;
  772.                         margin-left: -30pt;}
  773.                         
  774.                         
  775.             .list_item {list-style-type: none;
  776.                          display: list-item;
  777.                          margin-left: +30pt;
  778.                            line-height: 200%;}
  779.                            
  780.             .mono       {line-height: 200%;
  781.                         font-family: monospace;}
  782.  
  783.             paragraph {font-size: 10pt;
  784.                        line-height: 200%;}
  785.             
  786.             .para_text {line-height: 200%;
  787.                         font-size: 10pt;
  788.                         margin-top: 8px;
  789.                         margin-bottom: 8px;}
  790.  
  791.             .smallcaps     {text-transform: uppercase;
  792.                          font-size: 9pt; }            
  793.             
  794.             .smalltitle {display: block;
  795.                     text-align: center;
  796.                     text-transform: uppercase;
  797.                     font-size:16pt;
  798.                     font-weight:bold;
  799.                     margin-top:3mm;
  800.                     margin-bottom: 3mm;}
  801.  
  802.             .table_head {font-size: 12pt;
  803.                          font-weight: bold; 
  804.                          margin-top: 2em; 
  805.                          margin-bottom: 2em;}
  806.  
  807.             .table_data {font-size: 10pt;
  808.                        vertical-align: top;}
  809.  
  810.             .text  {line-height: 200%;
  811.                     font-size: 10pt;}
  812.                     
  813.             .title {display: block;
  814.                     text-align: center;
  815.                     font-size:26pt;
  816.                     font-family:serif;
  817.                     font-weight:bold;
  818.                     margin-top:3mm;
  819.                     margin-bottom: 3mm;}
  820.  
  821. </style>
  822. </xsl:template>
  823. <xsl:template match="chemistry-cwu | math-cwu | sequence-cwu">
  824.        <span class="break_avoid">
  825.             <xsl:apply-templates/>
  826.         </span>
  827.     </xsl:template>
  828. <xsl:template match="document-id">
  829.         <xsl:apply-templates select="country-code"/>
  830.         <xsl:text> </xsl:text>
  831.         <xsl:apply-templates select="doc-number"/>
  832.         <xsl:text> </xsl:text>
  833.         <xsl:apply-templates select="kind-code"/>
  834.         <xsl:text> </xsl:text>
  835.         <xsl:apply-templates select="document-date"/>
  836.         <xsl:text> </xsl:text>
  837.     </xsl:template><xsl:template match="country-code | doc-number | kind-code">
  838.         <xsl:value-of select="."/>
  839.     </xsl:template><xsl:template match="document-date" doc:public="yes" doc:description="uses <xsl:param> elements to present <document-date> in YYYY-MM-DD format">
  840.             <xsl:param name="document-year" doc:public="yes" doc:description="assigns the year portion of the <document-date> element to a parameter to allow YYYY-MM-DD date formatting.">
  841.                 <xsl:value-of select="substring(.//document-date,1,4)"/>
  842.             </xsl:param>
  843.             <xsl:param name="document-month" doc:public="yes" doc:description="assigns the month portion of the <document-date> element to a parameter to allow YYYY-MM-DD date formatting.">
  844.                 <xsl:value-of select="substring(.//document-date,5,2)"/>
  845.             </xsl:param>
  846.             <xsl:param name="document-day" doc:public="yes" doc:description="assigns the date portion of the <document-date> element to a parameter to allow YYYY-MM-DD date formatting.">
  847.                 <xsl:value-of select="substring(.//document-date,7,2)"/>
  848.             </xsl:param>
  849.             <xsl:value-of select="$document-year"/>-<xsl:value-of select="$document-month"/>-<xsl:value-of select="$document-day"/>
  850.     </xsl:template>
  851. <xsl:template match="figure[1]">
  852.        <br/>
  853.       [<xsl:value-of select="substring-after(@id,'-')"/>]
  854.        <xsl:apply-templates/>
  855.     </xsl:template><xsl:template match="drawing-reference-character">
  856.         <xsl:apply-templates/>
  857.     </xsl:template><xsl:template match="figure[1]/image[1]">
  858.         <xsl:choose>
  859.             <xsl:when test="@he"><!-- if it has height and width attributes -->
  860.                 <embed toolbar="off" fit="best" align="top" src="{@file}" height="{round(@he)}" width="{round(@wi)}"/>
  861.             </xsl:when>
  862.             <xsl:otherwise><!-- otherwise, preset TIFF viewer size -->
  863.                 <embed toolbar="off" fit="best" align="top" width="600" height="800" src="{@file}"/>
  864.             </xsl:otherwise>
  865.         </xsl:choose>
  866.         <div class="break_before"/>
  867.     </xsl:template><xsl:template match="image[not(ancestor::figure)]">
  868.        <xsl:choose>
  869.             <xsl:when test="@he"><!-- if it has height and width attributes -->
  870.                 <embed toolbar="off" fit="best" align="top" src="{@file}" height="{round(@he)}" width="{round(@wi)}"/>
  871.             </xsl:when>
  872.             <xsl:otherwise><!-- otherwise, preset TIFF viewer size -->
  873.                 <embed toolbar="off" fit="best" align="top" width="600" height="800" src="{@file}"/>
  874.             </xsl:otherwise>
  875.         </xsl:choose>
  876.     </xsl:template>
  877. <xsl:template match="inventor-block | inventors">
  878.     <br/>
  879.     <table width="80%" border="0">
  880.     <xsl:choose>
  881.         <xsl:when test="count(.//inventor) > 1">
  882.             <th align="left" class="table_data">INVENTORS: </th>
  883.         </xsl:when>
  884.         <xsl:otherwise>
  885.             <th align="left" class="table_data">INVENTOR: </th>
  886.         </xsl:otherwise>
  887.     </xsl:choose>
  888.     <tr/>
  889.  
  890.     <xsl:if test="first-named-inventor/authority-applicant">
  891.         <tr><td class="table_data">Authority Applicant:</td>
  892.             <td class="table_data">
  893.                 <xsl:value-of select="first-named-inventor/authority-applicant"/>
  894.             </td>
  895.         </tr>
  896.     </xsl:if>
  897.     
  898.     <xsl:for-each select="inventor">
  899.         <xsl:if test="authority-applicant">
  900.             <tr><td class="table_data">Authority Applicant:</td>
  901.                 <td class="table_data">
  902.                     <xsl:value-of select="authority-applicant"/>
  903.                 </td>
  904.             </tr>
  905.         </xsl:if>
  906.         <tr><td>┬á</td></tr>
  907.         <tr><td/></tr>
  908.         <tr><td/></tr>
  909.         <tr><td/></tr>
  910.     </xsl:for-each>
  911.         <tr/>
  912.         <xsl:if test="authority-applicant">
  913.             <tr>
  914.                 <td/>
  915.                 <td class="table_data">
  916.                     <xsl:value-of select="authority-applicant"/>
  917.                 </td>
  918.             </tr>
  919.         </xsl:if>
  920.     <tr/>
  921.     <tr/>
  922.     </table>
  923. </xsl:template>
  924. <xsl:template match="name">
  925.         <xsl:if test=".//name-prefix">
  926.             <xsl:value-of select="name-prefix"/>
  927.             <xsl:text>┬á</xsl:text>
  928.         </xsl:if>
  929.  
  930.         <xsl:value-of select="given-name"/>
  931.         <xsl:text>┬á</xsl:text>
  932.         
  933.         <xsl:if test=".//middle-name">
  934.             <xsl:value-of select="middle-name"/>
  935.             <xsl:text>┬á</xsl:text>
  936.         </xsl:if>
  937.     
  938.         <xsl:value-of select="family-name"/>
  939.         
  940.         <xsl:if test=".//name-suffix">
  941.             <xsl:text>┬á</xsl:text>
  942.             <xsl:value-of select="name-suffix"/>
  943.         </xsl:if>
  944.     </xsl:template>
  945. <xsl:template match="federal-research-statement">
  946.         <div style="margin-bottom:  1pc;                     margin-left:    +10pt;">
  947.                <xsl:apply-templates/>
  948.         </div>
  949.     </xsl:template><xsl:template match="paragraph-federal-research-statement">
  950.         <div class="left_para">
  951.          <table width="100%">
  952.              <tr>
  953.                  <td width="8%" valign="top">
  954.                 ┬á
  955.                 </td>
  956.                 <td width="85%">
  957.                     <div class="para_text">
  958.                         <xsl:apply-templates/>
  959.                     </div>
  960.                 </td>
  961.                 <td width="*"/>
  962.              </tr>
  963.          </table>
  964.          </div>
  965.     </xsl:template><xsl:template match="number | grant-number | contract-number | us-agency">
  966.         <xsl:text> </xsl:text>
  967.         <xsl:apply-templates/>
  968.     </xsl:template>
  969. <xsl:template match="party">
  970.     <div>
  971.         <xsl:apply-templates select="name"/>
  972.     </div>
  973.         <xsl:value-of select=".//organization-name"/>
  974.         <xsl:apply-templates select="address"/>
  975.     </xsl:template><xsl:template match="citizenship">
  976.         <xsl:text> </xsl:text>
  977.         <xsl:apply-templates/>
  978.     </xsl:template><xsl:template match="organization-name">
  979.         <div>
  980.             <xsl:apply-templates/>
  981.         </div>
  982.     </xsl:template>
  983. <xsl:template match="residence">
  984.     <table width="60%" border="0">
  985.         <xsl:apply-templates/>
  986.     </table>
  987. </xsl:template><xsl:template match="residence-us | residence-non-us">
  988.     <xsl:apply-templates/>
  989. </xsl:template><xsl:template match="residence//city">
  990.     <tr><td class="table_data">Residence City:</td>
  991.         <td class="table_data">
  992.             <xsl:apply-templates/>
  993.         </td>
  994.     </tr>
  995. </xsl:template><xsl:template match="residence//state">
  996.     <tr><td class="table_data">Residence State:</td>
  997.         <td class="table_data">
  998.             <xsl:apply-templates/>
  999.         </td>
  1000.     </tr>
  1001. </xsl:template><xsl:template match="residence//country-code">
  1002.     <tr><td class="table_data">Residence Country:</td>
  1003.         <td class="table_data">
  1004.             <xsl:value-of select="."/>
  1005.         </td>
  1006.     </tr>
  1007. </xsl:template><xsl:template match="residence//military-service">
  1008.     <tr><td class="table_data">Military Service:</td>
  1009.         <td class="table_data">
  1010.             <xsl:apply-templates/>
  1011.         </td>
  1012.     </tr>
  1013. </xsl:template><xsl:template match="residence//citizenship">
  1014.     <tr><td class="table_data">Citizenship:</td>
  1015.         <td class="table_data">
  1016.             <xsl:apply-templates/>
  1017.         </td>
  1018.     </tr>
  1019. </xsl:template>
  1020. <xsl:template match="sequence-listing-old-rules | sequence-listing-new-rules">
  1021.         <xsl:apply-templates/>
  1022.     </xsl:template><xsl:template match="*">
  1023.         <xsl:apply-templates/>
  1024.     </xsl:template><xsl:template match="s-1 | s100">
  1025.         <div>
  1026.             <xsl:apply-templates/>
  1027.         </div>
  1028.     </xsl:template><xsl:template match="s-1-iii | s160">
  1029.         <xsl:text>Number of Sequences: </xsl:text>
  1030.             <xsl:value-of select="."/>
  1031.     </xsl:template><xsl:template match="s-2 | s210">
  1032.         <xsl:text>Sequence ID: </xsl:text>
  1033.         <xsl:choose>
  1034.             <xsl:when test="self::s-2">
  1035.                 <xsl:value-of select="@seq-no"/>
  1036.                 <xsl:apply-templates/>
  1037.             </xsl:when>
  1038.             <xsl:when test="self::s210">
  1039.                 <xsl:value-of select="."/>
  1040.             </xsl:when>
  1041.         </xsl:choose>
  1042.     </xsl:template><xsl:template match="s-2-i-a | s211">
  1043.         <br/>
  1044.         <xsl:text>Length of Sequence: </xsl:text>
  1045.         <xsl:value-of select="."/>
  1046.     </xsl:template><xsl:template match="s-2-i-b | s212">
  1047.         <br/>        
  1048.         <xsl:text>Sequence Type: </xsl:text>
  1049.         <xsl:value-of select="."/>
  1050.     </xsl:template><xsl:template match="s-2-i-c">
  1051.         <br/>
  1052.         <xsl:text>Strandedness: </xsl:text>        
  1053.         <xsl:apply-templates/>
  1054.     </xsl:template><xsl:template match="s-2-i-d">
  1055.         <br/>
  1056.         <xsl:text>Topology: </xsl:text>
  1057.         <xsl:apply-templates/>
  1058.     </xsl:template><xsl:template match="s-2-ii-mt">
  1059.         <br/>
  1060.         <xsl:text>Molecule Type: </xsl:text>
  1061.         <xsl:apply-templates/>
  1062.     </xsl:template><xsl:template match="s-2-vi-a | s213">
  1063.         <br/>
  1064.         <xsl:text>Scientific Name: </xsl:text>
  1065.         <xsl:value-of select="."/>
  1066.     </xsl:template><xsl:template match="s-2-ix-a | s221">
  1067.         <br/>
  1068.         <xsl:text>Name/Key: </xsl:text>
  1069.             <xsl:apply-templates/>
  1070.     </xsl:template><xsl:template match="s-2-ix-b | s222">
  1071.         <br/>
  1072.         <xsl:text>Location: </xsl:text>
  1073.             <xsl:apply-templates/>
  1074.     </xsl:template><xsl:template match="s-2-ix-d | s223">
  1075.         <br/>
  1076.         <xsl:text>Other Information: </xsl:text>
  1077.             <xsl:apply-templates/>
  1078.     </xsl:template><xsl:template match="s-2-xi | s400">
  1079.     <pre style="font-size: 10pt;">
  1080.             <xsl:value-of select="."/>
  1081.     </pre>
  1082.     </xsl:template>
  1083.  
  1084.  
  1085. </xsl:stylesheet>