Permalink
Browse files

use the conf cascade for journal-specific style mapping & schematron

  • Loading branch information...
gimsieke committed Feb 11, 2016
1 parent f427b40 commit 7131f8ef042855066dbe29a3a2be943134554d1e
View
@@ -46,3 +46,9 @@
[submodule "epubcheck-idpf"]
path = epubcheck-idpf
url = https://github.com/transpect/epubcheck-idpf.git
+[submodule "transpectdoc"]
+ path = transpectdoc
+ url = https://github.com/transpect/transpectdoc.git
+[submodule "map-style-names"]
+ path = map-style-names
+ url = https://github.com/transpect/map-style-names.git
@@ -17,7 +17,7 @@
<p:output port="result" primary="true">
<p:documentation>JATS</p:documentation>
- <p:pipe port="result" step="jats-remove-ns"/>
+ <p:pipe port="result" step="jats-remove-srcpath"/>
</p:output>
<p:serialization port="result" indent="true" omit-xml-declaration="false"/>
@@ -45,6 +45,7 @@
<p:import href="http://transpect.io/htmlreports/xpl/check-styles.xpl"/>
<p:import href="http://transpect.io/htmlreports/xpl/validate-with-schematron.xpl"/>
<p:import href="http://transpect.io/htmlreports/xpl/validate-with-rng.xpl"/>
+ <p:import href="http://transpect.io/map-style-names/xpl/map-style-names.xpl"/>
<p:load>
<p:with-option name="href" select="/tr:conf/@paths-xsl-uri">
@@ -72,6 +73,21 @@
<p:with-option name="docx" select="$file"/>
</docx2hub:convert>
+ <css:map-styles name="map-styles">
+ <p:input port="source">
+ <p:pipe port="result" step="docx2hub"/>
+ </p:input>
+ <p:input port="paths">
+ <p:pipe port="result" step="paths"/>
+ </p:input>
+ <p:with-option name="map-name" select="concat('styles/map-', /c:param-set/c:param[@name eq 'ext']/@value, '.xhtml')">
+ <p:pipe port="result" step="paths"/>
+ </p:with-option>
+ <p:with-option name="debug" select="$debug"/>
+ <p:with-option name="debug-dir-uri" select="$debug-dir-uri"/>
+ <p:with-option name="status-dir-uri" select="$status-dir-uri"/>
+ </css:map-styles>
+
<tr:check-styles name="check-styles">
<p:input port="html-in">
<p:empty/>
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://purl.oclc.org/dsdl/schematron"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ queryBinding="xslt2">
+
+ <ns prefix="css" uri="http://www.w3.org/1996/css"/>
+ <ns prefix="xlink" uri="http://www.w3.org/1999/xlink" />
+
+ <let name="base-dir" value="/*/@source-dir-uri"/>
+
+ <pattern id="author-rejected">
+ <rule context="contrib-group/contrib/name">
+ <let name="srcpath" value="(@srcpath, .//@srcpath[1], ancestor::*[@srcpath][1]/@srcpath)[1]"/>
+ <report id="the-notorious-dr-falz"
+ test="surname = 'Falz' and matches(given-names, '^R(oberto|\.)?$')"
+ role="error"
+ diagnostics="the-notorious-dr-falz_de">
+ <span class="srcpath"><xsl:value-of select="string-join(
+ for $s in tokenize($srcpath, '\s+')
+ return concat($base-dir, $s),
+ ' '
+ )"/></span>
+ Dr. Roberto Falz is banned from publishing in this journal!
+ </report>
+ </rule>
+ </pattern>
+
+ <diagnostics>
+ <diagnostic id="the-notorious-dr-falz_de"
+ xml:lang="de">Dr. Roberto Falz darf bei dieser Zeitschrift nicht veröffentlichen!</diagnostic>
+ </diagnostics>
+
+</schema>
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>ulsp map</title>
+ </head>
+ <body>
+ <h1>ulsp map</h1>
+ <table>
+ <tr>
+ <th>Systemname</th>
+ <th>Benutzername</th>
+ <th>Kommentar</th>
+ </tr>
+ <tr>
+ <td>Headline-1</td>
+ <td>headone</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>Headline-2_-_rule</td>
+ <td>Head2line</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>Headline-2</td>
+ <td>head2</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>Headline-3</td>
+ <td>Ueberschrift-3</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>affiliation</td>
+ <td>Affi</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>quotation</td>
+ <td>Quot</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>figuretitle</td>
+ <td>figtit</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>tabletitle</td>
+ <td>tabtit</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>references</td>
+ <td>referenz</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>address</td>
+ <td>addr</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>author</td>
+ <td>Aut$</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>authors</td>
+ <td>Autoren</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>figure</td>
+ <td>Abb</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>mail</td>
+ <td>EMail</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>tablehead</td>
+ <td>thead</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>tablesub</td>
+ <td>tabsub</td>
+ <td>para</td>
+ </tr>
+ <tr>
+ <td>given-names</td>
+ <td>Vorname</td>
+ <td>character</td>
+ </tr>
+ <tr>
+ <td>surname</td>
+ <td>Nachname</td>
+ <td>character</td>
+ </tr>
+ </table>
+ <h2>Hinweise</h2>
+ <ul>
+ <li>Zeilen, die kein td enthalten, werden ignoriert.</li>
+ <li>Ansonsten muss das erste td in einer Zeile den Systemnamen enthalten, das zweite den Benutzernamen. </li>
+ <li>Die zweite Spalte enthält eine Regex, die erste ihre Ersetzung. Bei der Ersetzung kann mit <code>$1</code>,
+ <code>$2</code>, … auf geklammerte Gruppen Bezug genommen werden. Verankerung am Beginn des Suchstrings erfolgt mit
+ <code>^</code>. Wenn man alternativ das Ende des Strings oder eine Tilde matchen will, schreibt man am Ende
+ <code>(~|$)</code>, muss dann aber in der Ersetzung die geklammerte Gruppe wieder einfügen.</li>
+ <li>Die Tilde ('~') und '_-_' kann in den ersten beiden Spalten synonym verwendet werden. In einem Zeichenbereich wie z.B.
+ <code>[-_a-z.]</code> darf man keine Tilde verwenden.</li>
+ <li>Es wird von Anfang bis Ende jede Ersetzung auf das Ergebnis der vorigen Ersetzung angewandt. Spezifischere Ersetzungen
+ müssen nun weiter oben stehen. Also erst <code>ch_fett_kursiv_Schrift2</code>, dann <code>ch_fett_kursiv</code>, dann
+ <code>ch_fett</code>.</li>
+ <li>In beiden Namen dürfen Tilden (bzw. '~') vorkommen.</li>
+ <li>Die Kommentarspalte ist irrelevant.</li>
+ <li>Es werden die Dateien adaptions/common/styles/map.xhtml, adaptions/[Verlag]/styles/map.xhtml,
+ adaptions/[Verlag]/[Reihe]/styles/map.xhtml und [Werkdatenverzeichnis]/styles/map.xhtml gesucht und zuammengeführt.
+ Dabei wird jeweils nur die erste Tabelle einer jeden Datei einbezogen. Das Zusammenführen geht so: stimmen zwei Einträge
+ bzgl. des Systemnamens überein, gewinnt der Eintrag aus der spezifischeren Datei. </li>
+ <li>Die zusammengeführte Datei erscheint auch im debug-Verzeichnis als style-mapping/consolidated-map.xhtml. Sie enthält
+ in einer linken Spalte, die aus th-Elementen besteht, einen Verweis auf die für die jeweilige Zeile verwendete
+ Quelldatei. </li>
+ </ul>
+ </body>
+</html>
Submodule map-style-names added at d888bb
Submodule transpectdoc added at 643663
View
@@ -16,6 +16,7 @@
<nextCatalog catalog="../schema/jats/xmlcatalog/catalog.xml"/>
<nextCatalog catalog="../xslt-util/xmlcatalog/catalog.xml"/>
<nextCatalog catalog="../docx2hub/xmlcatalog/catalog.xml"/>
+ <nextCatalog catalog="../map-style-names/xmlcatalog/catalog.xml"/>
<nextCatalog catalog="content-repo.catalog.xml"/>
<nextCatalog catalog="content-repo.default.catalog.xml"/>

0 comments on commit 7131f8e

Please sign in to comment.