Kiln is a multi-platform framework for building and deploying complex websites whose source content is primarily in XML. It brings together various independent software components into an integrated whole that provides the infrastructure and base functionality for such sites.
I was wondering how to include the ../xsl/global.css in the sample inscription pages. Is this achievable by adding the CSS as a new link to the base.xsl file, using an xsl:if for including it only for /sample/ and /corpus/ pages, or is there another way to include contextual css in Kiln?
When I request a missing document, kiln responds with code 200 and a HTML page telling the resource was not found. Returning a 404 code would make it more explicit to the client apps calling kiln and help them manage the error.
I've just started working with Kiln so this might be me not understanding the settings rather than an actual issue.
kiln/sitemaps/odd.xmap has the beginnings of a set of pipelines for extracting Schematron schema files from an ODD file. The XSLT to implement this need to be written.
There are two conflicting versions of the slf4j-api jar in webapps/root/WEB-INF/lib. This causes a NoScuhMethodError during the build process, and results in a 404 error when accessing the webapp on the browser.
In a Kiln-powered project, I've added a large number (800+) of XML non-TEI files in the content folder. This caused the server to either load very slowly or not at all every time that _cocoon://internal/metadata/files.xml is aggregated.
I see that each file is transformed with XSLT to extract path, title and id (by files-metadata-generator.xsl). This doesn't scale well, especially if there are non-TEI files involved.
I would suggest to either limit the application of files-metadata-generator.xsl to TEI files (but then you'd have to determine that somehow), or stick to cocoon's file list in the directory namespace http://apache.org/cocoon/directory/2.0 and grab TIE titles and xml:ids only when needed.
I would like to ask how to fix this error that I receive when clicking the search page. It says:
net.sf.saxon.trans.XPathException: When 'standalone' or 'doctype-system' is specified, the document must be well-formed; but this document contains a top-level text node
When validating the results-to-html.xsl file, I get these two errors.
System ID: /webapps/ROOT/stylesheets/solr/results-to-html.xsl
Engine name: Saxon-PE 9.6.0.5
Severity: error
Description: javax.xml.transform.TransformerException: Malformed URL cocoon://_internal/url/reverse.xsl(base file://webapps/ROOT/stylesheets/solr/results-to-html.xsl)
It would be useful to have an implementation of Django's reverse URL lookup available to XSLT, taking its information from the sitemaps. This might be an XSLT generated from the combined sitemaps that has a single named template that includes an xsl:when for each IDed map:match. This would be called with the ID and a sequence of values for any wildcards in the map:match pattern, and would return the full URL.
Currently build.sh static relies on another instance of a kiln running in the background. It would be very convenient to have a single, stand-alone command that generates the dist.
Use case:
A cron job to regularly generate a handful of html from TEI source files modified by an editorial team. I'd rather not have jetty running as a service and consuming a lot of memory just for the periodic conversions. And I'd also like to have this fully automated (i.e. not start and stop it manually).
Ideally there would be a way to run transforms entirely in the foreground. If that's not possible then at least starting kiln, downloading the dist from it and stopping kiln within the same bash.
I have duplicated text-index.xml and text-file-list-to-html.xsl in order to create a samples index to display a list of samples files. I added a sample index pipeline in the main.xmap but it's not working. The problem is that in the sample index page the files appear duplicated and for example when clicking on a file this URL appear http://localhost:9999/samples/samples/HGV.73151.html. How can I fix that and have this URL working instead http://localhost:9999/samples/HGV.73151.html? Currently when writing that URL I get the following error:
The resource you requested was not found.
java.io.FileNotFoundException: /vagrant/webapps/ROOT/sitemaps/../kiln/sitemaps/../../sitemaps/../content/xml/tei/HGV.73151.xml (No such file or directory)
Also how can I display only the files from samples directory without other files appearing on the list from content/xml/tei?
The docs contain nothing about stylesheets/defaults.xsl and its use. It should, since it's far too easy to create links, for example, to assets as "/assets/...", which may break much later when deployed to a server that does not mount Kiln at /.
I've created a new template that imports tei.xml. When I try to override xmtp:block name="title" (e.g. with an empty <xmtp:block name="title"/>) the block from tei.xml still outputs.
The menu system, as it exists, has far too much display logic embedded in the core kiln/stylesheets/menu/menu.xsl XSLT. I believe that this XSLT should provide plain XML giving the full menu structure, possibly with an indication of the current path and breadcrumbs. It is then up to the template to render this in an appropriate fashion.