diff --git a/de/8B.xml b/de/8B.xml
index 99308b962cebe18fadfb1230f9db121df8d047af..1d37437b1b0b716016b8bdc408a13c99adcf76a0 100644
--- a/de/8B.xml
+++ b/de/8B.xml
@@ -8,10 +8,10 @@
       <appearance>Mittel bis sehr dunkles braun, oft mit tief rubinartigen Reflexen, allerdings nie wirklich tiefschwarz. Sehr klar. Große, langanhaltende, gebräunte Schaumkrone.</appearance>
       <flavor>Leichter bis moderater Malzgeschmack, welcher von sauber/neutral bis mäßig üppig, süß, bzw. brotig-malzigen [Münchner-] Art intensiv sein kann. Leichter bis moderater Röstmalzgeschmack kann den Anklang von Bitterschokolade bis in den Abgang hin ermöglichen aber nie verbrannt wirken. Leichte bis mittlere Bittere, die bis zum Abgang andauern kann. Sauberer untergäriger Hefecharakter, [kein Fruchtester oder Diacetyl]. Der Nachgeschmack wird zunehmend trocken und hält sich, vordergründig Hopfenbittere mit etwas Röstgeschmack im Hintergrund. Einige Restsüße ist akzeptabel, allerdings nicht notwendig.</flavor>
       <mouthfeel>Mittel-leichter bis mittlerer Körper. Moderate bis etwas höhere Kohlensäure. Sanft. Keine Schärfe oder astringierend, trotz des Einsatzes von Röstmalzen.</mouthfeel>
-      <comments>Im Vergleich mit einem Münchner Dunkel, eher dunkler, trocken am Gaumen und mit einer auffallend, aber nicht zu starken Röstmalznote, die den sonstigen Malzcharakter ergänzt. Es wird hin und wieder als ein „schwarzes <a idref="5D">Pils</a>“ bezeichnet. Das Bier ist selten wirklich schwarz, man sollte keine ausgeprägt geröstete Art, wie beim einem Porter erwarten.</comments>
+      <comments>Im Vergleich mit einem Münchner Dunkel, eher dunkler, trocken am Gaumen und mit einer auffallend, aber nicht zu starken Röstmalznote, die den sonstigen Malzcharakter ergänzt. Es wird hin und wieder als ein „schwarzes <a href="#5D">Pils</a>“ bezeichnet. Das Bier ist selten wirklich schwarz, man sollte keine ausgeprägt geröstete Art, wie beim einem Porter erwarten.</comments>
       <history>Eine regionale Spezialität aus Thüringen, Sachsen und Franken in Deutschland. Die Geschichte ist ein wenig skizzenhaft, aber ist vermutlich ursprünglich ein topfermentiertes (obergäriges) Bier. Die Popularität wuchs nach der deutschen Wiedervereinigung. Es diente als Inspiration für Schwarze Lager, die in Japan gebraut gebraut werden.</history>
       <characteristic-ingredients>Deutsches Münchner und / oder Pilsner Malze für die Basis, ergänzt durch eine kleine Menge Röstmalz (z.B. Carafa) für die schwarze Farbe und den Anklang von Röstgeschmack. Spelzenlose dunkle Röstmalze können Röstcharakter hinzufügen, ohne verbrannt zu wirken. Edelhopfen aus Deutschland und saubere untergärige deutsche Hefe sind vorzuziehen.</characteristic-ingredients>
-      <style-comparison>Im Vergleich zu einem <a idref="8A"/> meist dunkler in der Farbe, trockener am Gaumen, leichter im Körper, und mit einer merklichen (aber nicht hohen) gerösteten Malz-Schärfe zum Ausgleich der  Malzbasis. Sollte nicht wie ein amerikanisches Porter schmecken. Verwendung von untergäriger Lager-Hefe. Trockener, weniger malzig, mit weniger Hopfencharakter als ein tschechisches dunkles Lager.</style-comparison>
+      <style-comparison>Im Vergleich zu einem <a href="#8A"/> meist dunkler in der Farbe, trockener am Gaumen, leichter im Körper, und mit einer merklichen (aber nicht hohen) gerösteten Malz-Schärfe zum Ausgleich der  Malzbasis. Sollte nicht wie ein amerikanisches Porter schmecken. Verwendung von untergäriger Lager-Hefe. Trockener, weniger malzig, mit weniger Hopfencharakter als ein tschechisches dunkles Lager.</style-comparison>
       <commercial-examples>Devils Backbone Schwartz Bier, Einbecker Schwarzbier, Eisenbahn Dunkel, Köstritzer Schwarzbier, Mönchshof Schwarzbier, Nuezeller Original Badebier</commercial-examples>
     </subcategory>
   </category>
diff --git a/xsd/bjcp-styleguide-2015.xsd b/xsd/bjcp-styleguide-2015.xsd
index cdf32ad06530ce768e846bcacbd7dd112692189c..65055268b6de395ac0a80a21123d392937907c3e 100644
--- a/xsd/bjcp-styleguide-2015.xsd
+++ b/xsd/bjcp-styleguide-2015.xsd
@@ -296,7 +296,7 @@
     <xsd:complexType mixed="true">
       <xsd:complexContent>
         <xsd:extension base="Text">
-          <xsd:attribute name="idref"/>
+          <xsd:attribute name="href"/>
         </xsd:extension>
       </xsd:complexContent>
     </xsd:complexType>
diff --git a/xsl/bjcp-2015-styleguide-html.xsl b/xsl/bjcp-2015-styleguide-html.xsl
index 4c245c546b8276fe4c8cdd0fc3166563d9f0a2c9..2855688fd940d4d822c245160d1fbc3f4cb427cc 100644
--- a/xsl/bjcp-2015-styleguide-html.xsl
+++ b/xsl/bjcp-2015-styleguide-html.xsl
@@ -254,20 +254,19 @@ styleguide specs div * {
 
 
   <xsl:template match="bjcp:a" mode="copy">
-    <xsl:variable name="idref">
-      <xsl:value-of select="@idref"/>
+    <xsl:variable name="href">
+      <xsl:value-of select="@href"/>
     </xsl:variable>
     <xsl:element name="{local-name(.)}">
       <xsl:attribute name="href">
-	<xsl:text>#</xsl:text>
-	<xsl:value-of select="$idref"/>
+	<xsl:value-of select="$href"/>
       </xsl:attribute>
       <xsl:choose>
 	<xsl:when test="string-length(./text()) > 0">
 	  <xsl:value-of select="./text()"/>
 	</xsl:when>
 	<xsl:otherwise>
-	  <xsl:value-of select="//bjcp:styleguide//*[@id=$idref]/bjcp:name"/>
+	  <xsl:value-of select="//bjcp:styleguide//*[@id=$href]/bjcp:name"/>
 	</xsl:otherwise>
       </xsl:choose>
     </xsl:element>
diff --git a/xsl/bjcp-2015-styleguide-translate.xsl b/xsl/bjcp-2015-styleguide-translate.xsl
index 9c242ae7197c906895c0ed76b43b23d727ee6350..3f1ca6e33a3cc8f0804f556e8eb1a796f1bcfed1 100644
--- a/xsl/bjcp-2015-styleguide-translate.xsl
+++ b/xsl/bjcp-2015-styleguide-translate.xsl
@@ -37,7 +37,7 @@
     <xsl:variable name="p">
       <xsl:text>document('</xsl:text>
       <xsl:value-of select="$d"/>
-      <xsl:text>')/styleguide/chapter</xsl:text>
+      <xsl:text>')/bjcp:styleguide/bjcp:chapter</xsl:text>
     </xsl:variable>
     <xsl:apply-templates select="." mode="chapter">
       <xsl:with-param name="t" select="$p"/>
@@ -57,7 +57,7 @@
     <xsl:variable name="p">
       <xsl:text>document('</xsl:text>
       <xsl:value-of select="$d"/>
-      <xsl:text>')/styleguide/category[@id='</xsl:text>
+      <xsl:text>')/bjcp:styleguide/bjcp:category[@id='</xsl:text>
       <xsl:value-of select="@id"/>
       <xsl:text>']</xsl:text>
     </xsl:variable>
@@ -82,7 +82,7 @@
     <xsl:variable name="p">
       <xsl:text>document('</xsl:text>
       <xsl:value-of select="$d"/>
-      <xsl:text>')/styleguide/category/subcategory[@id='</xsl:text>
+      <xsl:text>')/bjcp:styleguide/bjcp:category/bjcp:subcategory[@id='</xsl:text>
       <xsl:value-of select="@id"/>
       <xsl:text>']</xsl:text>
     </xsl:variable>
@@ -107,7 +107,7 @@
     <xsl:variable name="p">
       <xsl:text>document('</xsl:text>
       <xsl:value-of select="$d"/>
-      <xsl:text>')/styleguide/category/subcategory/subcategory[@id='</xsl:text>
+      <xsl:text>')/bjcp:styleguide/bjcp:category/bjcp:subcategory/bjcp:subcategory[@id='</xsl:text>
       <xsl:value-of select="@id"/>
       <xsl:text>']</xsl:text>
     </xsl:variable>
@@ -130,7 +130,7 @@
       <xsl:apply-templates select="@*"/>
       <xsl:choose>
 	<xsl:when test="dyn:evaluate($p)">
-	  <xsl:apply-templates select="dyn:evaluate($p)/* | dyn:evaluate($p)/text()"/>
+	  <xsl:apply-templates select="dyn:evaluate($p)/bjcp:* | dyn:evaluate($p)/text()"/>
 	</xsl:when>
 	<xsl:otherwise>
 	  <xsl:apply-templates/>
@@ -152,7 +152,7 @@
       <xsl:apply-templates select="@*"/>
       <xsl:choose>
 	<xsl:when test="dyn:evaluate($p)">
-	  <xsl:apply-templates select="dyn:evaluate($p)/* | dyn:evaluate($p)/text()"/>
+	  <xsl:apply-templates select="dyn:evaluate($p)/bjcp:* | dyn:evaluate($p)/text()"/>
 	</xsl:when>
 	<xsl:otherwise>
 	  <xsl:apply-templates/>