12
|
1 <xsl:stylesheet version="1.0"
|
|
2 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4 xmlns:exsl="http://exslt.org/common">
|
|
5 <xsl:import href="json.xsl"/>
|
|
6 <xsl:output method="text" />
|
|
7
|
|
8 <xsl:template match="firstName | lastName" mode="json-member-value">
|
|
9 <xsl:call-template name="write-value">
|
|
10 <xsl:with-param name="value" select="key('members',concat(generate-id(..),local-name(.)))[last()]"/>
|
|
11 </xsl:call-template>
|
|
12 </xsl:template>
|
|
13
|
|
14 <xsl:template match="address" mode="json-member-value">
|
|
15 <xsl:call-template name="write-array"/>
|
|
16 </xsl:template>
|
|
17
|
|
18 <xsl:template match="work | home">
|
|
19 <address>
|
|
20 <_type><xsl:value-of select="local-name(.)"/></_type>
|
|
21 <xsl:copy-of select="*"/>
|
|
22 </address>
|
|
23 </xsl:template>
|
|
24
|
|
25 <xsl:template match="@*">
|
|
26 <xsl:element name="{local-name(.)}" >
|
|
27 <xsl:value-of select="."/>
|
|
28 </xsl:element>
|
|
29 </xsl:template>
|
|
30
|
|
31 </xsl:stylesheet> |