attempt to add to the headers (they are black boxes)

Change-Id: I30a9b5bef3955a83b8ae6bad7ea1c3cbc3f4a964
diff --git a/nkjp2korap.xsl b/nkjp2korap.xsl
index ff1ee50..19f5a1a 100644
--- a/nkjp2korap.xsl
+++ b/nkjp2korap.xsl
@@ -35,6 +35,7 @@
 
   <xsl:mode name="corpus" on-no-match="deep-skip"/>
   <xsl:mode name="text" on-no-match="deep-skip"/>
+  <xsl:mode name="header-text" on-no-match="text-only-copy"/>
 
   <!--  <xsl:variable name="text_depth" as="xs:integer" select="xs:integer('2')" static="true"/>
   <!-\-  this magic number indicates the depth of the <TEI> element inside teiCorpus/TEI -\->
@@ -79,6 +80,8 @@
     </xsl:choose>
   </xsl:function>
 
+  <xsl:template match="@default" mode="#all"/>
+
   <xsl:template name="xsl:initial-template">
     <xsl:variable name="text.xml" as="document-node()" select="doc($sourceDir || 'text.xml')"/>
     <xsl:variable name="ann_morphosyntax.xml" as="document-node()"
@@ -450,15 +453,15 @@
       xpath-default-namespace="http://ids-mannheim.de/ns/KorAP" href="{$target}">
 
       <idsHeader type="document" pattern="text" status="new" version="1.1" TEIform="teiHeader">
-        <xsl:apply-templates select="$text.xml//tei:TEI/tei:teiHeader/tei:fileDesc" mode="text"/>
+        <xsl:apply-templates select="$text.xml//tei:TEI/tei:teiHeader/tei:*" mode="text"/>
       </idsHeader>
     </xsl:result-document>
   </xsl:template>
 
   <xsl:template match="tei:fileDesc" mode="text">
-    <fileDesc>
+    <xsl:element name="{local-name()}">
       <xsl:apply-templates mode="text"/>
-    </fileDesc>
+    </xsl:element>
   </xsl:template>
 
   <xsl:template match="tei:title" mode="text">
@@ -476,7 +479,48 @@
     </titleStmt>
   </xsl:template>
 
+  <xsl:template match="tei:publicationStmt" mode="text">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="text"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:availability" mode="text">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="text" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:profileDesc" mode="text">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="text"/>
+    </xsl:element>
+  </xsl:template>
 
+  <xsl:template match="tei:textClass" mode="text">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="text" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:catRef" mode="text corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="text" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="@status | @scheme | @target | @type | @xml:id[ancestor::tei:classDecl] | @xml:lang" mode="text corpus">
+    <xsl:copy-of select="."/>
+  </xsl:template>
+  
+  <xsl:template match="tei:p" mode="text corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="header-text"/>
+    </xsl:element>
+  </xsl:template>
+  
+  
+  <!--  OPTIMIZATION has to take modes into account   -->
   <!--   **************************        CORPUS header       *******************                -->
   <xsl:template name="create_corpus_header">
     <xsl:param name="text.xml" as="document-node()"/>
@@ -491,20 +535,22 @@
       -->
 
       <idsHeader type="corpus" pattern="text" status="new" version="1.1" TEIform="teiHeader">
-        <xsl:apply-templates select="$text.xml//tei:TEI/tei:teiHeader/tei:fileDesc" mode="corpus"/>
+        <xsl:apply-templates select="$text.xml/tei:teiCorpus/tei:teiHeader/tei:*" mode="corpus"/>
       </idsHeader>
     </xsl:result-document>
   </xsl:template>
 
   <xsl:template match="tei:fileDesc" mode="corpus">
-    <fileDesc>
+    <xsl:element name="{local-name()}">
       <xsl:apply-templates mode="corpus"/>
-    </fileDesc>
+    </xsl:element>
   </xsl:template>
+  
 
   <xsl:template match="tei:title" mode="corpus">
     <c.title>
-      <xsl:apply-templates/>
+      <xsl:apply-templates mode="corpus" select="@*"/>
+      <xsl:apply-templates mode="header-text"/>
     </c.title>
   </xsl:template>
 
@@ -517,7 +563,49 @@
     </titleStmt>
   </xsl:template>
 
-
+  <xsl:template match="tei:publicationStmt" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:availability" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:encodingDesc" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:classDecl | tei:taxonomy | tei:category | tei:taxonomy/tei:bibl" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:bibl/tei:title | tei:edition | tei:desc" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus" select="@*"/>
+      <xsl:apply-templates mode="header-text"/>
+    </xsl:element>
+  </xsl:template>
+<!--
+  <xsl:template match="tei:textClass" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+  
+  <xsl:template match="tei:catRef" mode="corpus">
+    <xsl:element name="{local-name()}">
+      <xsl:apply-templates mode="corpus" select="@* | *"/>
+    </xsl:element>
+  </xsl:template>
+-->  
 
 
 
diff --git a/test/output/NKJP/NKJP/KOT/header.xml b/test/output/NKJP/NKJP/KOT/header.xml
index cbd0190..2fab170 100644
--- a/test/output/NKJP/NKJP/KOT/header.xml
+++ b/test/output/NKJP/NKJP/KOT/header.xml
@@ -9,5 +9,16 @@
          <textSigle>NKJP/KOT</textSigle>
          <t.title>TEI P5 encoded version of sample(s) of "Kot"</t.title>
       </titleStmt>
+      <publicationStmt>
+         <availability status="free">
+            <p>See the licence agreement.</p>
+         </availability>
+      </publicationStmt>
    </fileDesc>
+   <profileDesc>
+      <textClass>
+         <catRef scheme="#taxonomy-NKJP-type" target="#typ_publ"/>
+         <catRef scheme="#taxonomy-NKJP-channel" target="#kanal_prasa_miesiecznik"/>
+      </textClass>
+   </profileDesc>
 </idsHeader>
diff --git a/test/output/NKJP/header.xml b/test/output/NKJP/header.xml
index 45a94cf..da2df68 100644
--- a/test/output/NKJP/header.xml
+++ b/test/output/NKJP/header.xml
@@ -7,7 +7,125 @@
    <fileDesc>
       <titleStmt>
          <korpusSigle>NKJP</korpusSigle>
-         <c.title>TEI P5 encoded version of sample(s) of "Kot"</c.title>
+         <c.title xml:lang="pl">Narodowy Korpus Języka Polskiego -- podkorpus zawierający 1 milion słów</c.title>
+         <c.title xml:lang="en">National Corpus of Polish -- the 1 million word subcorpus</c.title>
       </titleStmt>
+      <publicationStmt>
+         <availability status="unknown">
+            <p>This 1 million word subcorpus of the National Corpus of Polish is available publicly for free.</p>
+         </availability>
+      </publicationStmt>
    </fileDesc>
+   <encodingDesc>
+      <classDecl>
+         <taxonomy xml:id="taxonomy-NKJP-type">
+            <category xml:id="typ_lit">
+               <desc xml:lang="pl">literatura piękna</desc>
+               <desc xml:lang="en">fiction</desc>
+            </category>
+            <category xml:id="typ_fakt">
+               <desc xml:lang="pl">literatura faktu</desc>
+               <desc xml:lang="en">non-fiction novel</desc>
+            </category>
+            <category xml:id="typ_publ">
+               <desc xml:lang="pl">publicystyka i wiadomości prasowe</desc>
+               <desc xml:lang="en">journalism</desc>
+            </category>
+            <category xml:id="typ_nd">
+               <desc xml:lang="pl">naukowo-dydaktyczny</desc>
+               <desc xml:lang="en">academic writing</desc>
+            </category>
+            <category xml:id="typ_inf-por">
+               <desc xml:lang="pl">informacyjno-poradnikowy</desc>
+               <desc xml:lang="en">informative and instructive writing</desc>
+            </category>
+            <category xml:id="typ_nklas">
+               <desc xml:lang="pl">książka niebeletrystyczna niesklasyfikowana</desc>
+               <desc xml:lang="en">unclassified non-fiction book</desc>
+            </category>
+            <category xml:id="typ_inne_pisane">
+               <desc xml:lang="pl">inne teksty pisane</desc>
+               <desc xml:lang="en">miscellaneous (written)</desc>
+               <category xml:id="typ_urzed">
+                  <desc xml:lang="pl">urzędowo-kancelaryjny</desc>
+                  <desc xml:lang="en">legal and official</desc>
+               </category>
+            </category>
+            <category xml:id="typ_internet">
+               <desc xml:lang="pl">Internet</desc>
+               <desc xml:lang="en">Internet</desc>
+            </category>
+            <category xml:id="typ_konwers">
+               <desc xml:lang="pl">konwersacyjne</desc>
+               <desc xml:lang="en">conversational</desc>
+            </category>
+            <category xml:id="typ_media">
+               <desc xml:lang="pl">mówione medialne</desc>
+               <desc xml:lang="en">spoken from the media</desc>
+            </category>
+            <category xml:id="typ_qmow">
+               <desc xml:lang="pl">quasi-mówione</desc>
+               <desc xml:lang="en">quasi-spoken</desc>
+            </category>
+         </taxonomy>
+      </classDecl>
+      <classDecl>
+         <taxonomy xml:id="taxonomy-NKJP-channel">
+            <category xml:id="kanal_prasa">
+               <desc xml:lang="pl">prasa</desc>
+               <desc xml:lang="en">press</desc>
+               <category xml:id="kanal_prasa_dziennik">
+                  <desc xml:lang="pl">dziennik</desc>
+                  <desc xml:lang="en">daily</desc>
+               </category>
+               <category xml:id="kanal_prasa_tygodnik">
+                  <desc xml:lang="pl">tygodnik</desc>
+                  <desc xml:lang="en">weekly</desc>
+               </category>
+               <category xml:id="kanal_prasa_miesiecznik">
+                  <desc xml:lang="pl">miesiecznik</desc>
+                  <desc xml:lang="en">monthly</desc>
+               </category>
+               <category xml:id="kanal_prasa_inne">
+                  <desc xml:lang="pl">inne prasowe</desc>
+                  <desc xml:lang="en">other press</desc>
+               </category>
+            </category>
+            <category xml:id="kanal_ksiazka">
+               <desc xml:lang="pl">książka</desc>
+               <desc xml:lang="en">book</desc>
+            </category>
+            <category xml:id="kanal_internet">
+               <desc xml:lang="pl">Internet</desc>
+               <desc xml:lang="en">internet</desc>
+            </category>
+            <category xml:id="kanal_mowiony">
+               <desc xml:lang="pl">mówiony</desc>
+               <desc xml:lang="en">spoken</desc>
+            </category>
+            <category xml:id="kanal_ulotka">
+               <desc xml:lang="pl">ulotki, ogłoszenia, reklamy</desc>
+               <desc xml:lang="en">leaflets, announcemnets, ads</desc>
+            </category>
+         </taxonomy>
+      </classDecl>
+      <classDecl>
+         <taxonomy xml:id="ukd">
+            <bibl>
+               <title xml:lang="pl">Uniwersalna Klasyfikacja Dziesiętna</title>
+               <title xml:lang="en">Universal Decimal Classification</title>
+               <edition>UDC-P058</edition>
+            </bibl>
+         </taxonomy>
+      </classDecl>
+      <classDecl>
+         <taxonomy xml:id="bn">
+            <bibl>
+               <title xml:lang="pl">Klasyfikacja Biblioteki Narodowej</title>
+               <title xml:lang="en">Polish National Library Classification</title>
+               <edition>Słownik języka haseł przedmiotowych Biblioteki Narodowej. Wyd. 5 popr. i rozsz., stan na dzień 31 grudnia 2004 roku.</edition>
+            </bibl>
+         </taxonomy>
+      </classDecl>
+   </encodingDesc>
 </idsHeader>