Alejandro Acuña
2025-04-29 d1d736e487d9eb104dcae9def948066037afd2f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <violation xmlns:en4sysViolation="http://www.en4sys.com/ns/violation">
            <xsl:apply-templates />
        </violation>
    </xsl:template>
 
    <xsl:template match="atributos">
        <!-- Atributos obligatorios -->
        <xsl:for-each select="atributo">
            <xsl:choose>
                <xsl:when test="@nombre='FECHA_INFRACCION'">
                    <dateViolation>
                        <xsl:value-of select="." />
                    </dateViolation>
                </xsl:when>
            </xsl:choose>
        </xsl:for-each>
        <typeNameViolation>S</typeNameViolation>
 
        <!-- Atributos opcionales -->
        <parameters>
            <xsl:for-each select="atributo">
                <xsl:choose>
                    <xsl:when test="@nombre='IDENTIFICADOR_PUNTO_DETECCION' or @nombre='NOMBRE_DE_INFRACCION' or @nombre='SENTIDO_CIRCULACION'">
                        <xsl:element name="parameter">
                            <xsl:attribute name="name">
                                <xsl:value-of select="@nombre" />
                            </xsl:attribute>
                            <xsl:attribute name="value">
                                <xsl:value-of select="." />
                            </xsl:attribute>
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='VELOCIDAD_MEDIDA_VEHICULO'">
                        <xsl:element name="parameter">
                            <xsl:attribute name="name">speed</xsl:attribute>
                            <xsl:attribute name="value">
                                <xsl:value-of select="." />
                            </xsl:attribute>
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='TIEMPO_AMBAR_SEMAFORO'">
                        <xsl:element name="parameter">
                            <xsl:attribute name="name">amberLightTime</xsl:attribute>
                            <xsl:attribute name="value">
                                <xsl:value-of select="." />
                            </xsl:attribute>
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='TIEMPO_ROJO_SEMAFORO'">
                        <xsl:element name="parameter">
                            <xsl:attribute name="name">redLightTime</xsl:attribute>
                            <xsl:attribute name="value">
                                <xsl:value-of select="." />
                            </xsl:attribute>
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='IDENTIFICADOR_INSTALACION'">
                        <xsl:element name="parameter">
                            <xsl:attribute name="name">siteCode</xsl:attribute>
                            <xsl:attribute name="value">
                                <xsl:value-of select="." />
                            </xsl:attribute>
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='VELOCIDAD_LIMITE_LEGAL'">
                        <xsl:element name="parameter">
                            <xsl:attribute name="name">siteSpeedLimit</xsl:attribute>
                            <xsl:attribute name="value">
                                <xsl:value-of select="." />
                            </xsl:attribute>
                        </xsl:element>
                    </xsl:when>
                </xsl:choose>
            </xsl:for-each>
        </parameters>
 
        <!-- Datos del vehículo -->
        <vehicle>
            <vehiclePlate />
            <vehicleType />
            <vehiclePlateColor />
            <vehicleRoadType />
            <vehicleRoad />
            <vehicleCountSite />
            <vehicleDirection />
            <vehicleLane />
            <vehicleStreet />
            <vehicleCity />
            <vehicleProvince />
            <vehicleReadReliability />
        </vehicle>
 
        <!-- Datos del equipo -->
        <equipment>
            <xsl:for-each select="atributo">
                <xsl:choose>
                    <xsl:when test="@nombre='MODELO_CINEMOMETRO'">
                        <xsl:element name="equipmentModel">
                            <xsl:value-of select="." />
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='NUMERO_SERIE_CINEMOMETRO'">
                        <xsl:element name="equipmentSerialNumber">
                            <xsl:value-of select="." />
                        </xsl:element>
                    </xsl:when>
                    <xsl:when test="@nombre='SENTIDO'">
                        <xsl:element name="equipmentDirection">
                            <xsl:value-of select="." />
                        </xsl:element>
                    </xsl:when>
                </xsl:choose>
            </xsl:for-each>
            <equipmentRoad />
            <equipmentStreet />
            <equipmentCity />
            <equipmentRoadType />
            <equipmentCountSite />
            <equipmentLane />
            <equipmentProvince />
        </equipment>
    </xsl:template>
</xsl:stylesheet>