source: pmb4.2/trunk/fuentes/pmb/admin/connecteurs/in/lehmanns/xslt/lehmanns2uni.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.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2
3<xsl:stylesheet version = '1.0' 
4        xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
5>
6       
7        <xsl:output method="xml" indent='yes' encoding="iso-8859-15"/>
8       
9        <xsl:template match="/LOB">
10                <unimarc>
11                        <xsl:apply-templates select="LBook"/>
12                </unimarc>
13        </xsl:template>
14
15        <xsl:template match="LBook">
16                <notice>
17                        <xsl:element name="rs">*</xsl:element>
18                        <xsl:element name="ru">*</xsl:element>
19                        <xsl:element name="el">1</xsl:element>
20                        <xsl:element name="bl">m</xsl:element>
21                        <xsl:element name="hl">0</xsl:element>
22                        <xsl:element name="dt">a</xsl:element>
23                       
24                        <xsl:call-template name="ID"/>
25                        <xsl:call-template name="ISBN"/>
26                        <xsl:call-template name="TITRE"/>
27                        <xsl:call-template name="EDITEUR"/>
28                        <xsl:call-template name="COLLATION"/>
29                        <xsl:call-template name="NOTES"/>
30                        <xsl:call-template name="AUTEUR"/>
31                        <xsl:call-template name="LIENS"/>
32                </notice>
33        </xsl:template>
34       
35        <xsl:template name="ID">
36                <f c="001">
37                        <xsl:value-of select="BTitleID"/>
38                </f>
39        </xsl:template>
40       
41        <xsl:template name="ISBN">
42                <xsl:if test="(BISBN and BISBN!='#') or (BISBN13 and BISBN13!='#') or (BPrice and BPrice!='#')">
43                        <f c="010">
44                                <xsl:choose>
45                                        <xsl:when test="BISBN13">
46                                                <s c="a"><xsl:value-of select="BISBN13"/></s>           
47                                        </xsl:when>
48                                        <xsl:when test="BISBN">
49                                                <s c="a"><xsl:value-of select="BISBN"/></s>     
50                                        </xsl:when>
51                                </xsl:choose>
52                                <xsl:if test="BPrice">
53                                        <s c="d"><xsl:value-of select="concat(normalize-space(BPrice),' ',BWaehrung)"/></s>
54                                </xsl:if>
55                        </f>
56                </xsl:if>
57        </xsl:template>
58       
59        <xsl:template name="TITRE">
60                <f c="200">
61                        <s c="a"><xsl:value-of select="BTitle"/></s>
62                        <xsl:if test="BSubtitle and BSubtitle!='#'">
63                                <s c="e"><xsl:value-of select="BSubtitle"/></s>
64                        </xsl:if>
65                </f>
66        </xsl:template>
67       
68        <xsl:template name="EDITEUR">
69                <xsl:if test="(BPublisher and BPublisher!='#') or (BYear and BYear!='#')">
70                        <f c="210">
71                                <xsl:if test="BPublisher and BPublisher!='#'">
72                                        <s c="c"><xsl:value-of select="BPublisher"/></s>
73                                </xsl:if>
74                                <xsl:if test="BYear and BYear!='#'">
75                                        <s c="d"><xsl:value-of select="BYear"/></s>
76                                </xsl:if>
77                        </f>
78                </xsl:if>
79        </xsl:template>
80       
81        <xsl:template name="COLLATION">
82                <xsl:if test="BBiblio and BBiblio!='#'">
83                        <f c="215">
84                                <s c="a"><xsl:value-of select="BBiblio"/></s>
85                        </f>
86                </xsl:if>
87        </xsl:template>
88       
89        <xsl:template name="NOTES">
90                <xsl:if test="BAnnotation and normalize-space(BAnnotation)">
91                        <f c="330">
92                                <s c="a"><xsl:value-of select="BAnnotation"/></s>
93                        </f>
94                </xsl:if>
95        </xsl:template>
96       
97        <xsl:template name="explose">
98                <xsl:param name="chaine"/>
99                <xsl:param name="separator"/>
100                <xsl:choose>
101                        <xsl:when test="substring-before($chaine,$separator)">
102                                <f c="701">
103                                        <s c="a"><xsl:value-of select="normalize-space(substring-before($chaine,$separator))"/></s>
104                                </f>
105                                <xsl:call-template name="explose">
106                                        <xsl:with-param name="chaine"><xsl:value-of select="substring-after($chaine,$separator)"/></xsl:with-param>
107                                        <xsl:with-param name="separator"><xsl:value-of select="$separator"/></xsl:with-param>
108                                </xsl:call-template>
109                        </xsl:when>
110                        <xsl:otherwise>
111                                <f c="701">
112                                        <s c="a"><xsl:value-of select="normalize-space($chaine)"/></s>
113                                </f>
114                        </xsl:otherwise>
115                </xsl:choose>
116        </xsl:template>
117       
118        <xsl:template name="AUTEUR">
119                <xsl:if test="BAuthor and BAuthor!='#'">
120                        <xsl:choose>
121                                <xsl:when test="substring-before(BAuthor,';')">
122                                        <f c="700">
123                                                <s c="a"><xsl:value-of select="normalize-space(substring-before(BAuthor,';'))"/></s>
124                                        </f>
125                                        <xsl:call-template name="explose">
126                                                <xsl:with-param name="chaine"><xsl:value-of select="substring-after(BAuthor,';')"/></xsl:with-param>
127                                                <xsl:with-param name="separator"><xsl:text>;</xsl:text></xsl:with-param>
128                                        </xsl:call-template>
129                                </xsl:when>
130                                <xsl:when test="substring-before(BAuthor,'   ')">
131                                        <f c="700">
132                                                <s c="a"><xsl:value-of select="normalize-space(substring-before(BAuthor,'   '))"/></s>
133                                        </f>
134                                        <xsl:call-template name="explose">
135                                                <xsl:with-param name="chaine"><xsl:value-of select="substring-after(BAuthor,'   ')"/></xsl:with-param>
136                                                <xsl:with-param name="separator"><xsl:text><![CDATA[   ]]></xsl:text></xsl:with-param>
137                                        </xsl:call-template>
138                                </xsl:when>
139                                <xsl:otherwise>
140                                        <f c="700">
141                                                <s c="a"><xsl:value-of select="normalize-space(BAuthor)"/></s>
142                                        </f>
143                                </xsl:otherwise>
144                        </xsl:choose>
145                </xsl:if>
146        </xsl:template>
147       
148        <xsl:template name="LIENS">
149                <xsl:if test="BPicture">
150                        <f c="896">
151                                <s c="a"><xsl:value-of select="BPicture"/></s>
152                        </f>
153                </xsl:if>
154        </xsl:template>
155</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.