Index: lib/style/skins/metacatui/iso/iso-ci.xsl
===================================================================
--- lib/style/skins/metacatui/iso/iso-ci.xsl	(revision 10055)
+++ lib/style/skins/metacatui/iso/iso-ci.xsl	(revision 10056)
@@ -1,50 +1,282 @@
 <?xml version="1.0"?>
 <xsl:stylesheet 
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-  xmlns:gmd="http://www.isotc211.org/2005/gmd" 
+  xmlns:gmd="http://www.isotc211.org/2005/gmd"
+  xmlns:gco="http://www.isotc211.org/2005/gco" 
   version="1.0">
 
   <!-- CI_ResponsibleParty -->
-  <xsl:template name="ci_responsibleparty" match="gmd:CI_ResponsibleParty">
-    <xsl:if test="./gmd:individualName">
+  <xsl:template match="gmd:CI_ResponsibleParty">
+    <div class="controls-well">
+      <xsl:if test="./gmd:individualName">
+        <div class="control-group">
+          <label class="control-label">Individual</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:individualName" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:organisationName">
+        <div class="control-group">
+          <label class="control-label">Organization</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:organisationName" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:positionName">
+        <div class="control-group">
+          <label class="control-label">Position</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:positionName" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:phone">
+        <div class="control-group">
+          <label class="control-label">Phone</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:phone" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:address">
+        <div class="control-group">
+          <label class="control-label">Address</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:address" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource">
+        <div class="control-group">
+          <label class="control-label">Online Resource</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService">
+        <div class="control-group">
+          <label class="control-label">Hours of Service</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions">
+        <div class="control-group">
+          <label class="control-label">Contact Instructions</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+
+      <xsl:if test="./gmd:role">
+        <div class="control-group">
+          <label class="control-label">Role</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="./gmd:role" />
+            </div>
+          </div>
+        </div>
+      </xsl:if>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="gmd:CI_RoleCode">
+    <xsl:apply-templates />
+  </xsl:template>
+  
+  <xsl:template match="gmd:CI_Telephone">
+    <xsl:for-each select="./gmd:voice">
       <div class="control-group">
-        <label class="control-label">Individual</label>
+          <label class="control-label">Voice</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates />
+            </div>
+          </div>
+        </div>
+    </xsl:for-each>
+
+    <xsl:for-each select="./gmd:facsimile">
+      <div class="control-group">
+          <label class="control-label">Fax</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates />
+            </div>
+          </div>
+        </div>
+    </xsl:for-each>
+  </xsl:template>
+  
+  <xsl:template match="gmd:CI_Address">
+    <xsl:for-each select="./gmd:deliveryPoint">
+      <div class="control-group">
+          <label class="control-label">Delivery Point</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates />
+            </div>
+          </div>
+        </div>
+    </xsl:for-each>
+
+    <xsl:if test="./gmd:city">
+      <div class="control-group">
+        <label class="control-label">City</label>
         <div class="controls">
           <div class="controls-well">
-            <xsl:apply-templates select="./gmd:individualName/*" />
+            <xsl:apply-templates select="./gmd:city" />
           </div>
         </div>
       </div>
     </xsl:if>
-    <xsl:if test="./gmd:organisationName">
+
+    <xsl:if test="./gmd:administrativeArea">
       <div class="control-group">
-        <label class="control-label">Organization</label>
+        <label class="control-label">Administrative Area</label>
         <div class="controls">
           <div class="controls-well">
-            <xsl:apply-templates select="./gmd:organisationName/*" />
+            <xsl:apply-templates select="./gmd:administrativeArea" />
           </div>
         </div>
       </div>
     </xsl:if>
-    <xsl:if test="./gmd:positionName">
+    
+    <xsl:if test="./gmd:postalCode">
       <div class="control-group">
-        <label class="control-label">Position</label>
+        <label class="control-label">Postal Code</label>
         <div class="controls">
           <div class="controls-well">
-            <xsl:apply-templates select="./gmd:positionName/*" />
+            <xsl:apply-templates select="./gmd:postalCode" />
           </div>
         </div>
       </div>
     </xsl:if>
-    <xsl:if test="./gmd:role">
+    
+    <xsl:if test="./gmd:country">
       <div class="control-group">
-        <label class="control-label">Role</label>
+        <label class="control-label">Country</label>
         <div class="controls">
           <div class="controls-well">
-            <xsl:value-of select="./gmd:role/gmd:CI_RoleCode" />
+            <xsl:apply-templates select="./gmd:country" />
           </div>
         </div>
       </div>
     </xsl:if>
+
+    <xsl:for-each select="./gmd:electronicMailAddress">
+      <div class="control-group">
+          <label class="control-label">E-Mail</label>
+          <div class="controls">
+            <div class="controls-well">
+
+              <xsl:variable name="email" select="./gco:CharacterString/text()" />
+              <xsl:element name="a">
+                <xsl:attribute name="href">mailto:<xsl:value-of select="$email" /></xsl:attribute>
+                <xsl:value-of select="$email" />
+              </xsl:element>
+            </div>
+          </div>
+        </div>
+    </xsl:for-each>
   </xsl:template>
+
+  <xsl:template match="gmd:CI_OnlineResource">
+    <xsl:if test="./gmd:linkage">
+      <div class="control-group">
+        <label class="control-label">linkage</label>
+        <div class="controls">
+          <div class="controls-well">
+            <xsl:apply-templates select="./gmd:linkage" />
+          </div>
+        </div>
+      </div>
+    </xsl:if>
+
+    <xsl:if test="./gmd:protocol">
+      <div class="control-group">
+        <label class="control-label">protocol</label>
+        <div class="controls">
+          <div class="controls-well">
+            <xsl:apply-templates select="./gmd:protocol" />
+          </div>
+        </div>
+      </div>
+    </xsl:if>
+
+    <xsl:if test="./gmd:applicationProfile">
+      <div class="control-group">
+        <label class="control-label">applicationProfile</label>
+        <div class="controls">
+          <div class="controls-well">
+            <xsl:apply-templates select="./gmd:applicationProfile" />
+          </div>
+        </div>
+      </div>
+    </xsl:if>
+
+    <xsl:if test="./gmd:name">
+      <div class="control-group">
+        <label class="control-label">name</label>
+        <div class="controls">
+          <div class="controls-well">
+            <xsl:apply-templates select="./gmd:name" />
+          </div>
+        </div>
+      </div>
+    </xsl:if>
+
+    <xsl:if test="./gmd:description">
+      <div class="control-group">
+        <label class="control-label">description</label>
+        <div class="controls">
+          <div class="controls-well">
+            <xsl:apply-templates select="./gmd:description" />
+          </div>
+        </div>
+      </div>
+    </xsl:if>
+
+    <xsl:if test="./gmd:function">
+      <div class="control-group">
+        <label class="control-label">function</label>
+        <div class="controls">
+          <div class="controls-well">
+            <xsl:apply-templates select="./gmd:function" />
+          </div>
+        </div>
+      </div>
+    </xsl:if>
+  </xsl:template>
+
+  
 </xsl:stylesheet>
\ No newline at end of file
Index: lib/style/skins/metacatui/iso/iso-ex.xsl
===================================================================
--- lib/style/skins/metacatui/iso/iso-ex.xsl	(revision 10055)
+++ lib/style/skins/metacatui/iso/iso-ex.xsl	(revision 10056)
@@ -200,7 +200,7 @@
     </xsl:if>
 
     <xsl:if test=".//gml:duration">
-      <span>duration:         
+        <span>duration:         
         <xsl:value-of select=".//gml:duration" />
       </span>
     </xsl:if>
Index: lib/style/skins/metacatui/iso/iso-md.xsl
===================================================================
--- lib/style/skins/metacatui/iso/iso-md.xsl	(revision 10055)
+++ lib/style/skins/metacatui/iso/iso-md.xsl	(revision 10056)
@@ -1,7 +1,22 @@
 <?xml version="1.0"?>
-<xsl:stylesheet 
+<xsl:stylesheet
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:gmd="http://www.isotc211.org/2005/gmd"
+  xmlns:gco="http://www.isotc211.org/2005/gco" 
   version="1.0">
-  
-  <!-- TODO: This module -->
+
+  <xsl:template match="gmd:MD_Identifier">
+    <xsl:apply-templates select="./gmd:code" />
+  </xsl:template>
+
+  <xsl:template match="gmd:MD_Keywords">
+    <div><strong>Type:</strong>&#xa0;<xsl:value-of select="./gmd:type/gmd:MD_KeywordTypeCode/text()" /></div>
+    <div><strong>Thesaurus:&#xa0;</strong><xsl:value-of select="./gmd:thesaurusName/gmd:CI_Citation/gmd:title/gco:CharacterString/text()" /></div>
+
+    <ul>
+      <xsl:for-each select="./gmd:keyword">
+        <li><xsl:apply-templates select="." /></li>
+      </xsl:for-each>
+    </ul>
+  </xsl:template>
 </xsl:stylesheet>
\ No newline at end of file
Index: lib/style/skins/metacatui/iso/isoroot.xsl
===================================================================
--- lib/style/skins/metacatui/iso/isoroot.xsl	(revision 10055)
+++ lib/style/skins/metacatui/iso/isoroot.xsl	(revision 10056)
@@ -1,198 +1,214 @@
 <?xml version="1.0"?>
 <xsl:stylesheet 
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-    xmlns:gmd="http://www.isotc211.org/2005/gmd" 
-    xmlns:gco="http://www.isotc211.org/2005/gco" 
-    xmlns:gmx="http://www.isotc211.org/2005/gmx"
-    xmlns:gml="http://www.opengis.net/gml/3.2" 
-    xmlns:xlink="http://www.w3.org/1999/xlink"
-    version="1.0">
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+  xmlns:gmd="http://www.isotc211.org/2005/gmd" 
+  xmlns:gco="http://www.isotc211.org/2005/gco" 
+  xmlns:gmx="http://www.isotc211.org/2005/gmx"
+  xmlns:gml="http://www.opengis.net/gml/3.2" 
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  version="1.0">
 
-    <xsl:import href="iso-ci.xsl"/>
-    <xsl:import href="iso-ex.xsl"/>
-    <xsl:import href="iso-md.xsl"/>
+  <xsl:import href="iso-ci.xsl"/>
+  <xsl:import href="iso-ex.xsl"/>
+  <xsl:import href="iso-md.xsl"/>
 
-    <xsl:output method="html" encoding="UTF-8"
-        doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
-        indent="yes" />  
+  <xsl:output method="html" encoding="UTF-8"
+      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+      indent="yes" />  
 
-    <!-- TODO: Figure out how to set the output method to get what I want -->
-    <!-- TODO: ^ Figure out what I want to output -->
-    <!-- TODO: Figuer out what this match statement should have in it -->
-    <xsl:template match="*[local-name()='MD_Metadata'] | *[local-name()='MI_Metadata']">
-        <form class="form-horizontal">
-            <!-- Dataset title -->
-            <div class="control-group">
-                <label class="control-label">Identifier</label>
-                <div class="controls">
-                    <div class="controls-well">
-                        <xsl:value-of select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString/text()" />
-                    </div>
-                </div>
+  <!-- TODO: Figure out how to set the output method to get what I want -->
+  <!-- TODO: ^ Figure out what I want to output -->
+  <!-- TODO: Figuer out what this match statement should have in it -->
+  <!-- TODO: Cover gmd:identificationInfo/SV_ServiceIdentification -->
+
+  <xsl:template match="*[local-name()='MD_Metadata'] | *[local-name()='MI_Metadata']">
+    <form class="form-horizontal">
+      <div class="control-group entity">
+        <h4>General</h4>
+        <!-- fileIdentifier 1:1 -->
+        <div class="control-group">
+          <label class="control-label">Identifier</label>
+          <div class="controls">
+            <div class="controls-well">
+                <xsl:value-of select="//gmd:fileIdentifier/gco:CharacterString/text()" />
             </div>
+          </div>
+        </div>
 
-            <!-- Identifier -->
-            <div class="control-group">
-                <label class="control-label">Identifier</label>
-                <div class="controls">
-                    <div class="controls-well">
-                        <xsl:value-of select="//gmd:fileIdentifier/gco:CharacterString/text()" />
-                    </div>
-                </div>
+        <!-- TODO: language 1:1 -->
+        <!-- TODO: characterSet 1:1 -->
+        
+        <!-- Parent Identifier 1:1 conditional -->
+        <xsl:if test="//gmd:parentIdentifier">
+          <div class="control-group">
+            <label class="control-label">Parent Identifier</label>
+            <div class="controls">
+              <div class="controls-well">
+                <xsl:value-of select="//gmd:parentIdentifier/gco:CharacterString/text()" />
+              </div>
             </div>
+          </div>
+        </xsl:if>
 
-            <!-- Alternate identifier(s) -->
-            <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier">
-                <xsl:call-template name="alternateidentifier"/>
-            </xsl:for-each>
+        <!-- TODO: hierarchyLevel 0:inf -->
+        <!-- TODO: hierarchyLevelName 0:inf -->
 
-            <!-- Abstract -->
-            <div class="control-group">
-                <label class="control-label">Abstract</label>
-                <div class="controls">
-                    <div class="controls-well">
-                        <xsl:value-of select="//gmd:abstract/gco:CharacterString/text()" />
-                    </div>
-                </div>
+        <!-- Alternate identifier(s) 0:inf-->
+        <!-- gmd:identifier is an optional aprt of the CI_Citation element -->
+        <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier">
+          <div class="control-group">
+            <label class="control-label">Cited Identifier</label>
+            <div class="controls">
+              <div class="controls-well">
+                <xsl:apply-templates />
+              </div>
             </div>
+          </div>
+        </xsl:for-each>
 
-            <!--  Topic Categories -->
-            <xsl:if test="//gmd:topicCategory">
-                <div class="control-group">
-                    <label class="control-label">Topic Categories</label>
-                    <div class="controls">
-                        <div class="controls-well">
-                            <ul>
-                                <xsl:for-each select="//gmd:topicCategory">
-                                    <li><xsl:value-of select="./gmd:MD_TopicCategoryCode/text()" /></li>                
-                                </xsl:for-each>
-                            </ul>
-                        </div>
-                    </div>
-                </div>
-            </xsl:if>
-            
+        <!-- Abstract 1:inf-->
+        <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract">
+          <div class="control-group">
+            <label class="control-label">Abstract</label>
+            <div class="controls">
+              <div class="controls-well">
+                <xsl:apply-templates />
+              </div>
+            </div>
+          </div>
+        </xsl:for-each>
 
-            <!-- Keywords
+        <!--  Topic Categories -->
+        <xsl:if test="//gmd:topicCategory">
+          <div class="control-group">
+            <label class="control-label">Topic Categories</label>
+            <div class="controls">
+              <div class="controls-well">
+                <ul>
+                  <xsl:for-each select="//gmd:topicCategory">
+                    <li><xsl:value-of select="./gmd:MD_TopicCategoryCode/text()" /></li>                
+                  </xsl:for-each>
+                </ul>
+              </div>
+            </div>
+          </div>
+        </xsl:if>
+    
+        <!-- Keywords
 
-                Each <gmd:descriptiveKeywords> block should have one or more keywords in it
-                with one thesaurus. So we render keywords from the same thesaurus together.
-            -->
+            Each <gmd:descriptiveKeywords> block should have one or more keywords in it
+            with one thesaurus. So we render keywords from the same thesaurus together.
+        -->
+        <xsl:if test="//gmd:descriptiveKeywords">
+          <div class="control-group">
+            <label class="control-label">Descriptive Keywords</label>
+            <div class="controls">
+              <div class="controls-well">
+                <xsl:for-each select="//gmd:descriptiveKeywords">
+                  <xsl:apply-templates />
+                </xsl:for-each>
+              </div>
+            </div>
+          </div>
+        </xsl:if>
+      </div>
 
-            
-            <xsl:if test="//gmd:descriptiveKeywords">
-                <div class="control-group">
-                    <label class="control-label">Descriptive Keywords</label>
-                    <div class="controls">
-                        <div class="controls-well">
-                            <xsl:for-each select="//gmd:descriptiveKeywords">
-                                <xsl:call-template name="descriptive_keywords"/>
-                            </xsl:for-each>
-                        </div>
-                    </div>
-                </div>
-            </xsl:if>
-            
+      <div class="control-group entity">
+        <h4>People and Associated Parties</h4>
 
-            <!-- TODO: otherEntities? -->
-
-            <!-- Metadata Contact(s) -->
-            <div class="control-group">
-                <label class="control-label">Metadata Contacts</label>
-                <div class="controls">
-                    <div class="controls-well">
-                        <xsl:apply-templates select="//gmd:contact" />
-                    </div>
-                </div>
+        <!-- Metadata Contact(s) 1:inf -->
+        <div class="control-group">
+          <label class="control-label">Metadata Contact(s)</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:for-each select="//gmd:contact">
+                <xsl:apply-templates />
+              </xsl:for-each>
             </div>
+          </div>
+        </div>
 
-            <!-- Data Set Contact(s) -->
-            <div class="control-group">
-                <label class="control-label">Data Set Contacts</label>
-                <div class="controls">
-                    <div class="controls-well">
-                        <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact" />
-                    </div>
-                </div>
+        <!-- Data Set Contact(s) -->
+        <div class="control-group">
+          <label class="control-label">Data Set Contacts</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact" />
             </div>
+          </div>
+        </div>
 
-            <!-- Cited responsible parties-->
-            <div class="control-group">
-                <label class="control-label">Associated Parties</label>
-                <div class="controls">
-                    <div class="controls-well">
-                        <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty" />
-                    </div>
-                </div>
+        <!-- Cited responsible parties-->
+        <div class="control-group">
+          <label class="control-label">Associated Parties</label>
+          <div class="controls">
+            <div class="controls-well">
+              <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty" />
             </div>
+          </div>
+        </div>
+      </div>
 
-            <!-- Extent (geographic, temporal, vertical) -->
-            <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent">
-                <div class="control-group">
-                    <label class="control-label">Extent</label>
-                    <div class="controls">
-                        <div class="controls-well">
-                            <xsl:call-template name="extent" />
-                        </div>
-                    </div>
-                </div>
-            </xsl:for-each>
+      <!-- TODO: otherEntities? -->
 
-            <!-- TODO Methods -->
-
-        </form>
-    </xsl:template>
-
-    <!-- General templates that didn't make it into the module-specific 
-         stylesheets -->
-    
-    <!-- Alternate identifier -->
-    <xsl:template name="alternateidentifier">
-        <div class="control-group">
-            <label class="control-label">Alternate Identifier</label>
+      <!-- Extent (geographic, temporal, vertical) -->
+      <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent">
+        <div class="control-group entity">
+          <h4>Extent</h4>
+          <div class="control-group">
+            <label class="control-label">Extent</label>
             <div class="controls">
-                <div class="controls-well">
-                    <xsl:value-of select="./gmd:MD_Identifier/gmd:code/gmx:Anchor/text()" />
-                </div>
+              <div class="controls-well">
+                <xsl:call-template name="extent" />
+              </div>
             </div>
+          </div>
         </div>
-    </xsl:template>
+      </xsl:for-each>
 
-    
-    <!-- descriptiveKewords -->
-    <xsl:template name="descriptive_keywords">
-        <div><strong>Type:</strong>&#xa0;<xsl:value-of select="./gmd:MD_Keywords/gmd:type/gmd:MD_KeywordTypeCode/text()" /></div>
-        <div><strong>Thesaurus:&#xa0;</strong><xsl:value-of select="./gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation/gmd:title/gco:CharacterString/text()" /></div>
+      <!-- TODO Methods -->
 
-        <ul>
-            <xsl:for-each select="./gmd:MD_Keywords/gmd:keyword">
-                <li><xsl:apply-templates select="." /></li>                
-            </xsl:for-each>
-        </ul>
-    </xsl:template>
+    </form>
+  </xsl:template>
 
-    <!-- Contact -->
-    <!-- TODO: Role-->
-    <!-- TODO: ./gmd:contactInfo-->
-    <xsl:template name="contact">
-        <xsl:call-template name="ci_responsibleparty" />
-    </xsl:template>
+  <!-- General, high-level templates -->
 
+  <!-- TODO: Figure out how to do this: I want to capture the scenario where
+  an element like gmd:individualName has on child gco:CharacterString or 
+  equivalent but has a nilReasona attribute. -->
+  <xsl:template match="@nilReason">
+    <xsl:value-of select="@nilReason" />
+  </xsl:template>
 
-    <!-- High level templates -->
-    
-    <xsl:template match="gco:CharacterString">
-        <xsl:value-of select="./text()" />
-    </xsl:template>
+  <xsl:template match="gco:CharacterString">
+    <xsl:value-of select="." />
+  </xsl:template>
 
-    <xsl:template match="gmx:Anchor">
-        <xsl:element name="a">
-            <xsl:attribute name="href">
-                <xsl:value-of select="./@xlink:href" />
-            </xsl:attribute>
-            <xsl:value-of select="./text()" />
-        </xsl:element>
-    </xsl:template>
+  <xsl:template match="gmx:Anchor">
+    <xsl:element name="a">
+      <xsl:attribute name="href">
+        <xsl:value-of select="./@xlink:href" />
+      </xsl:attribute>
 
+      <!-- Create the attributes for a Bootstrap tooltip to hold the title -->
+      <xsl:if test="./@xlink:title">
+        <xsl:attribute name="data-toggle">tooltip</xsl:attribute>
+        <xsl:attribute name="data-placement">top</xsl:attribute>
+        <xsl:attribute name="title"><xsl:value-of select="./@xlink:title" /></xsl:attribute>
+      </xsl:if>
+
+      <xsl:value-of select="./text()" />
+    </xsl:element>
+  </xsl:template>
+
+  <xsl:template match="gmd:URL">
+    <xsl:variable name="url"><xsl:value-of select="./text()" /></xsl:variable>
+    <xsl:element name="a">
+      <xsl:attribute name="href">
+        <xsl:value-of select="$url" />
+      </xsl:attribute>
+      <xsl:value-of select="$url" />
+    </xsl:element>
+  </xsl:template>
 </xsl:stylesheet>
\ No newline at end of file
