EpiDoc / EFES

EFES (EpiDoc Front End Services) is a custom and readily customizable platform for publication and search/indexing of EpiDoc files, based on the Kiln platform
Apache License 2.0
31 stars 38 forks source link

Rendering of symbols #63

Open IreneVagionakis opened 2 years ago

IreneVagionakis commented 2 years ago

Since the inclusion in EFES of the latest version of the EpiDoc Stylesheets, symbols are not displayed correctly anymore (and in some cases their presence prevents the inscriptions from being displayed: see iospe-5.238). The problem seems to be in webapps/ROOT/kiln/stylesheets/epidoc/teig.xsl at lines 59 and 101, whose paths to charDecl.xml and to a custom CharDecl are not processed correctly.

Everything works by replacing

<xsl:variable name="chardecl" select="if (//t:charDecl) then //t:charDecl else doc('charDecl.xml')"/> with <xsl:variable name="chardecl" select="if (//t:charDecl) then //t:charDecl else doc(concat('file:',system-property('user.dir'),'/webapps/ROOT/kiln/stylesheets/epidoc/charDecl.xml'))"/>

and

<xsl:variable name="externalCharDecl" select="substring-before($parsedRef, '#')"/> with <xsl:variable name="externalCharDecl" select="concat('file:',system-property('user.dir'),'/webapps/ROOT/content/xml/authority/', substring-before($parsedRef, '#'))"/>

but this solution is not good since it would only work inside EFES and since I imagine there is a prettier way to specify these paths. @ajenhl and @gabrielbodard, any suggestions?

IreneVagionakis commented 2 years ago

Is anyone aware of a nicer way to write this concat('file:',system-property('user.dir'),'/webapps/ROOT/content/xml/authority/', substring-before($parsedRef, '#')) in a context where relative paths starting with ../../../ etc. do not work?

ajenhl commented 2 years ago

I would try the following approaches:

teig.xsl should probably be reworked regardless so that $chardecl is not evaluated on every instance of tei:g!