|
3 | 3 | xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" |
4 | 4 | xmlns:l="ddi:logicalproduct:3_3" |
5 | 5 | xmlns:r="ddi:reusable:3_3" |
6 | | -> |
| 6 | + xmlns:ext="java:java.lang.System"> |
7 | 7 |
|
8 | 8 | <xsl:output method="text" indent="yes" /> |
9 | 9 |
|
|
21 | 21 | <xsl:variable name="dataRelation_URN" select="r:URN" /> |
22 | 22 | <xsl:variable name="dataRelation_name" select="l:DataRelationshipName/r:String" /> |
23 | 23 | <xsl:variable name="dataRelation_libelle_fr" select="r:Label/r:Content" /> |
| 24 | + <xsl:variable name="dataRelation_Version" select="r:Version" /> |
| 25 | + <xsl:variable name="dataRelation_Versiondate" select="@versionDate" /> |
| 26 | + |
24 | 27 |
|
25 | 28 | <xsl:if test="position() > 1"> |
26 | 29 | <xsl:text>, </xsl:text> |
27 | 30 | </xsl:if> |
28 | 31 |
|
29 | 32 | <xsl:text> { "id": "</xsl:text> |
30 | 33 | <xsl:value-of select="$dataRelation_URN" /> |
| 34 | + <xsl:text>", "version": "</xsl:text> |
| 35 | + <xsl:value-of select="$dataRelation_Version" /> |
| 36 | + <xsl:text>", "versionDate": "</xsl:text> |
| 37 | + <xsl:value-of select="$dataRelation_Versiondate" /> |
31 | 38 | <xsl:text>", "nom": "</xsl:text> |
32 | 39 | <xsl:value-of select="$dataRelation_name" /> |
33 | 40 | <xsl:text>", "label": [ { "contenu": "</xsl:text> |
|
38 | 45 | <xsl:variable name="VariableUsed_Agency" select="r:Agency" /> |
39 | 46 | <xsl:variable name="VariableUsed_ID" select="r:ID" /> |
40 | 47 | <xsl:variable name="VariableUsed_Version" select="r:Version" /> |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + <!-- isGeographic="true"--> |
41 | 52 | <xsl:variable name="VariableUsed_URN" select="concat('urn:ddi:', $VariableUsed_Agency, ':', $VariableUsed_ID, ':', $VariableUsed_Version)" /> |
42 | 53 |
|
43 | 54 | <xsl:variable name="var" select="key('varByURN', $VariableUsed_URN)" /> |
|
53 | 64 | <xsl:value-of select="normalize-space($var/r:Label/r:Content)" /> |
54 | 65 | <xsl:text>", "langue": "fr" }, { "contenu": "", "langue": "en" } ], "ordre": "</xsl:text> |
55 | 66 | <xsl:number /> |
56 | | - <xsl:text>", "representation": </xsl:text> |
57 | | - |
| 67 | + <xsl:text>", "role": "</xsl:text> |
| 68 | + <xsl:choose> |
| 69 | + <xsl:when test="not(normalize-space($var/l:VariableRepresentation/l:VariableRole))"> |
| 70 | + <!-- Si la valeur est vide, appliquer une valeur par défaut --> |
| 71 | + <xsl:value-of select="'Mesure'" /> |
| 72 | + </xsl:when> |
| 73 | + <xsl:otherwise> |
| 74 | + <!-- Sinon, afficher la valeur existante --> |
| 75 | + <xsl:value-of select="normalize-space($var/l:VariableRepresentation/l:VariableRole)" /> |
| 76 | + </xsl:otherwise> |
| 77 | + </xsl:choose> |
| 78 | + <xsl:text>", "variablegeographique": "</xsl:text> |
| 79 | + <xsl:value-of select="normalize-space($var/@isGeographic)" /> |
| 80 | + <xsl:text>", "representation": {</xsl:text> |
| 81 | + <xsl:text>"type":</xsl:text> |
58 | 82 | <xsl:choose> |
59 | 83 | <xsl:when test="$var/l:VariableRepresentation/r:CodeRepresentation"> |
60 | 84 | <xsl:text>"codes"</xsl:text> |
61 | 85 | </xsl:when> |
62 | 86 | <xsl:when test="$var/l:VariableRepresentation/r:NumericRepresentation"> |
63 | | - <xsl:text>"numerique"</xsl:text> |
| 87 | + <xsl:variable name="NumericTypeCode" select="$var/l:VariableRepresentation/r:NumericRepresentation/r:NumericTypeCode" /> |
| 88 | + <xsl:choose> |
| 89 | + <xsl:when test="not(normalize-space($NumericTypeCode))"> |
| 90 | + <!-- Si la valeur est vide, appliquer une valeur par défaut --> |
| 91 | + <xsl:text>"numerique"</xsl:text> |
| 92 | + </xsl:when> |
| 93 | + <xsl:otherwise> |
| 94 | + <!-- Sinon, afficher la valeur existante --> |
| 95 | + <xsl:text>"</xsl:text><xsl:value-of select="$NumericTypeCode" /><xsl:text>"</xsl:text> |
| 96 | + </xsl:otherwise> |
| 97 | + </xsl:choose> |
| 98 | + |
64 | 99 | </xsl:when> |
65 | 100 | <xsl:when test="$var/l:VariableRepresentation/r:TextRepresentation"> |
66 | 101 | <xsl:text>"texte"</xsl:text> |
|
72 | 107 | <xsl:text>"null"</xsl:text> |
73 | 108 | </xsl:otherwise> |
74 | 109 | </xsl:choose> |
75 | | - |
| 110 | + <xsl:text>}</xsl:text> |
76 | 111 | <!-- Process Code Representation --> |
77 | 112 | <xsl:if test="$var/l:VariableRepresentation/r:CodeRepresentation"> |
78 | 113 | <xsl:text>, "controles": { "codes": [ </xsl:text> |
|
0 commit comments