source: pmb4.2/trunk/fuentes/pmb/admin/connecteurs/in/artevod/xslt/artevod2uni.xsl @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 4.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3        <xsl:output method="xml" indent="yes"/>
4        <xsl:param name="cp_artevod"/>
5        <xsl:template match="/wsObjectListQuery">
6                <unimarc>
7                        <xsl:for-each select="film">
8                                <notice>
9                                        <bl>m</bl>
10                                        <hl>0</hl>
11                                        <dt>g</dt>
12                                        <xsl:call-template name="lang"/>
13                                        <xsl:call-template name="title"/>
14                                        <xsl:call-template name="publisher"/>
15                                        <xsl:call-template name="collation"/>
16                                        <xsl:call-template name="notes"/>
17                                        <xsl:call-template name="tags"/>
18                                        <xsl:call-template name="authors"/>
19                                        <xsl:call-template name="links"/>
20                                        <xsl:call-template name="source"/>
21                                </notice>
22                        </xsl:for-each>
23                </unimarc>
24        </xsl:template>
25       
26        <xsl:template name="title">
27                <f c='200'>
28                        <xsl:choose>
29                                <xsl:when test="editorial/title">
30                                        <s c='a'><xsl:value-of select="editorial/title"/></s>
31                                        <xsl:if test="editorial/original_title!=''">
32                                                <s c='d'><xsl:value-of select="editorial/original_title"/></s>
33                                        </xsl:if>
34                                </xsl:when>
35                                <xsl:when test="editorial/original_title">
36                                        <s c='a'><xsl:value-of select="editorial/original_title"/></s>
37                                </xsl:when>
38                                <xsl:otherwise>
39                                        <s c='a'>Sans titre</s>
40                                </xsl:otherwise>
41                        </xsl:choose>
42                </f>
43        </xsl:template>
44       
45        <xsl:template name="lang">
46                <xsl:if test="technical/languages/language!=''">
47                        <f c='101'>
48                                <s c='a'><xsl:value-of select="document('corresp_lang.xml')//entry[@artecode=current()/technical/languages/language/@code]/@unicode"/></s>
49                        </f>
50                </xsl:if>
51        </xsl:template>
52       
53        <xsl:template name="publisher">
54                <xsl:variable name="zone_210">
55                        <xsl:if test="technical/production_countries/country/label!=''">
56                                <s c='a'><xsl:value-of select="technical/production_countries/country/label"/></s>
57                        </xsl:if>
58                        <xsl:if test="technical/release_dates!=''">
59                                <s c='d'><xsl:value-of select="technical/release_dates"/></s>
60                        </xsl:if>
61                </xsl:variable>
62                <xsl:if test="$zone_210">
63                        <f c='210'>
64                                <xsl:copy-of select="$zone_210"/>
65                        </f>
66                </xsl:if>
67        </xsl:template>
68       
69        <xsl:template name="collation">
70                <xsl:if test="technical/duration!=''">
71                        <f c='215'>
72                                <s c='a'><xsl:value-of select="concat(technical/duration,' min')"/></s>
73                        </f>
74                </xsl:if>
75        </xsl:template>
76       
77        <xsl:template name="notes">
78                <xsl:if test="technical/target_audience/label!=''">
79                        <f c='300'>
80                                <s c='a'><xsl:value-of select="technical/target_audience/label"/></s>
81                        </f>
82                </xsl:if>
83                <xsl:if test="editorial/body!=''">
84                        <f c='327'>
85                                <s c='a'><xsl:value-of select="editorial/body"/></s>
86                        </f>
87                </xsl:if>
88        </xsl:template>
89       
90        <xsl:template name="tags">
91                <xsl:if test="count(editorial/tags/tag)">
92                        <xsl:for-each select="editorial/tags/tag">
93                                <f c='610'>
94                                        <s c='a'><xsl:value-of select="label"/></s>
95                                </f>
96                        </xsl:for-each>
97                </xsl:if>
98        </xsl:template>
99       
100        <xsl:template name="authors">
101                <xsl:for-each select="staff/authors/person">
102                        <f>
103                                <xsl:attribute name="c">
104                                        <xsl:choose>
105                                                <xsl:when test="position()=1">
106                                                        <xsl:text>700</xsl:text>
107                                                </xsl:when>
108                                                <xsl:otherwise><xsl:text>701</xsl:text></xsl:otherwise>
109                                        </xsl:choose>
110                                </xsl:attribute>
111                                <s c='a'><xsl:value-of select="last_name"/></s>
112                                <s c='b'><xsl:value-of select="first_name"/></s>
113                        </f>
114                </xsl:for-each>
115                <xsl:for-each select="staff/actors/person">
116                        <f c='702'>
117                                <s c='a'><xsl:value-of select="last_name"/></s>
118                                <s c='b'><xsl:value-of select="first_name"/></s>
119                        </f>
120                </xsl:for-each>
121        </xsl:template>
122       
123        <xsl:template name="links">
124                <f c='856'>
125                        <s c='u'><xsl:value-of select="externalUri"/></s>
126                </f>
127                <xsl:if test="media/posters/media/@src!=''">
128                        <f c='896'>
129                                <s c='a'><xsl:value-of select="media/posters/media/@src"/></s>
130                        </f>
131                </xsl:if>
132                <f c='900'>
133                        <s c='a'><xsl:value-of select="pk"/></s>
134                        <s c='n'><xsl:value-of select="$cp_artevod"/></s>
135                </f>
136        </xsl:template>
137       
138        <xsl:template name="source">
139                <f c="801">
140                        <s c="a">FR</s>
141                        <s c="b">ArteVOD</s>
142                </f>
143        </xsl:template>
144</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.