Tellico: Difference between revisions

From KDE UserBase Wiki
mNo edit summary
m (testing)
 
(7 intermediate revisions by 3 users not shown)
Line 50: Line 50:




= XSLT processing =
= XSLT processing = <!--T:20-->


You might use XSLT to extend export or to improve data-sources import. XSLT apply on XML datas.
<!--T:21-->
In both case, the Tellico's DTD will give you the exact name of fields (because Tellico display translated titles instead of names).
Tellico use XSL files for templates, reports, import, processing data source and export. XSL files apply on XML data.
The Tellico's DTD will give you the exact name of fields (because Tellico displays translated titles instead of names). Common places for this file are /usr/share/tellico/tellico.dtd or /usr/share/kde4/apps/tellico/tellico.dtd
Beware that Tellico use [http://xmlsoft.org/XSLT/index.html libxslt1.1] which implement [http://www.w3.org/TR/xpath XPath 1.0] functions only. Fortunately, you can use [http://www.exslt.org EXSLT] extensions.


== Basical XSLT for transforming export ==
== Basical XSLT for transforming export == <!--T:22-->


<!--T:23-->
First, do an XML export. The file will serve as a reference for testing.
First, do an XML export. The file will serve as a reference for testing.
It will help if you install an XSLT processor ([http://xmlsoft.org/XSLT/xsltproc2.html xsltproc] is available on every distribution).
Testing will be easier if you install an XSLT processor ([http://xmlsoft.org/XSLT/xsltproc2.html xsltproc] is available on every distribution).
Then write an xsl stylecheet. Here's a basic one :
Then write an xsl stylesheet. Here's a basic one :
</translate>


{{Input|<syntaxhighlight lang="xml" line>
{{Input|<syntaxhighlight lang="xml" line>
Line 76: Line 80:
</xsl:template>
</xsl:template>


<!-- about your collection -->
<xsl:template match="tc:collection">
<xsl:template match="tc:collection">
<books><!-- sample xml  output -->
<books><!-- sample xml  output -->
Line 82: Line 87:
</xsl:template>
</xsl:template>


<!-- transform each entry -->
<xsl:template match="tc:entry">
<xsl:template match="tc:entry">
<book>
<book><!-- sample xml  output -->
<title><xsl:value-of select="title"/></title><!-- sample xml  output -->
<title><xsl:value-of select="title"/></title>
<!-- other fields -->
<!-- other fields -->
</books>
</book>
</xsl:template>
</xsl:template>


</xsl:stylesheet>
</xsl:stylesheet>
</syntaxhighlight>}}
</syntaxhighlight>}}
<translate>


== Default fields in use for import == <!--T:17-->
== Default fields in use for import == <!--T:17-->

Latest revision as of 08:13, 17 June 2015

Tellico is a catalogue application, making it easy to track your books, videos, music, even your wine and anything else. A simple and intuitive interface shows cover images, groupings, and any detail you want. Grab information from many popular Internet sites, including IMDB.com, Amazon.com, and many libraries.

Tellico is a part of KDE Extragear, in the Office module

At A Glance

The main window for Tellico looks something like:

Tellico can use a variety of templates for changing the formatting of the collection information.

Obtaining Tellico

Tellico is available for most Linux distributions, as well as the ports repository for the BSD variants. Please check your package manager to see if a package is available there.

Links to many of the packages are listed on the Tellico download page.

Compiling Tellico from the source code requires installing several development packages.

For Ubuntu/Kubuntu there are unofficial packages available in a PPA.

More Information

Bugs

Bug reports for Tellico use KDE's bugzilla.

Show all Tellico bugs.


XSLT processing

Tellico use XSL files for templates, reports, import, processing data source and export. XSL files apply on XML data. The Tellico's DTD will give you the exact name of fields (because Tellico displays translated titles instead of names). Common places for this file are /usr/share/tellico/tellico.dtd or /usr/share/kde4/apps/tellico/tellico.dtd Beware that Tellico use libxslt1.1 which implement XPath 1.0 functions only. Fortunately, you can use EXSLT extensions.

Basical XSLT for transforming export

First, do an XML export. The file will serve as a reference for testing. Testing will be easier if you install an XSLT processor (xsltproc is available on every distribution). Then write an xsl stylesheet. Here's a basic one :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:tc="http://periapsis.org/tellico/"
                version="1.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">
  <xsl:apply-templates select="tc:tellico"/>
</xsl:template>

<xsl:template match="tc:tellico">
  <xsl:apply-templates select="tc:collection"/>
</xsl:template>

<!-- about your collection -->
<xsl:template match="tc:collection">
<books><!-- sample xml  output -->
<xsl:apply-templates select="tc:entry"/>
<books>
</xsl:template>

<!-- transform each entry -->
<xsl:template match="tc:entry">
<book><!-- sample xml  output -->
<title><xsl:value-of select="title"/></title>
<!-- other fields -->
</book>
</xsl:template>

</xsl:stylesheet>


Default fields in use for import

If you want to extend Tellico, you will certainly modify its XSLT processing files. To do this you will need the name of fields from the DTD, but current xsl files use several other names specific of collections and data sources. Using these default names for fields will makes your XSLT more compatible with others (for example "dewey" and "loc" are used for several data sources).

The list is built at Tellico/DefaultFields