Tellico: Difference between revisions

From KDE UserBase Wiki
(→‎Default fields in use for XSLT processing: short presentation and link)
m (testing)
 
(15 intermediate revisions by 3 users not shown)
Line 39: Line 39:
* The '''Tellico''' user documentation is also [http://docs.kde.org/development/en/extragear-office/tellico/index.html available online].
* The '''Tellico''' user documentation is also [http://docs.kde.org/development/en/extragear-office/tellico/index.html available online].
* Questions and comments can be sent to the [http://tellico-project.org/mailing-list tellico-users mailing list].
* Questions and comments can be sent to the [http://tellico-project.org/mailing-list tellico-users mailing list].
* You can also post a message in [https://forum.kde.org/viewforum.php?f=200 Tellico forum].


= Bugs = <!--T:13-->
= Bugs = <!--T:13-->
Line 48: Line 49:
[https://bugs.kde.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=tellico Show all Tellico bugs].
[https://bugs.kde.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=tellico Show all Tellico bugs].


= Default fields in use for XSLT processing =
If you want to extend Tellico, you will certainly modify its XSLT processing files. Using default names for fields will makes your XSLT more compatible with others (for example "dewey" and "loc" are used for several data sources.


= XSLT processing = <!--T:20-->
<!--T:21-->
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 == <!--T:22-->
<!--T:23-->
First, do an XML export. The file will serve as a reference for testing.
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 stylesheet. Here's a basic one :
</translate>
{{Input|<syntaxhighlight lang="xml" line>
<?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>
</syntaxhighlight>}}
<translate>
== Default fields in use for import == <!--T:17-->
<!--T:18-->
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).
<!--T:19-->
The list is built at [[Tellico/DefaultFields]]
The list is built at [[Tellico/DefaultFields]]



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