تحويلات XSL لتوصيل Itron

يدعم الموفق لجيت واي الشبكات الذكي للخدمات والمرافق من أوراكل من أجل Itron OpenWay إصدارات متعددة من الواجهة البرمجية للتطبيق من أجل Itron OpenWay. وللحصول على هذا الدعم، يقوم العديد من ملفات XSL للطلب بالتحقق من رقم الإصدار المضمن في مخطط المصدر. وبطريقة مشابهة، تم تصميم ملفات XSL للاستجابات للتعامل مع تنسيق XML لمصدر مختلف وربط القيم بتنسيق جيت واي الشبكات الذكي العام.

تستخدم عملية توصيل Itron تحويلات XSL التالية.

D8-CommissionRequest.xsl

<xsl:stylesheet version="1.0" 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:serArr="http://schemas.microsoft.com/2003/10/Serialization/Arrays" 
        xmlns:prov390="http://www.itron.com/ami/2009/08/provisioning" 
        xmlns:prov370="http://www.itron.com/ami/2008/10/provisioning">

    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>
    
    <xsl:template match="/*">
        <xsl:apply-templates select="./requestEnvelope/AddMeterDefinitions"/>
    </xsl:template>
    
<xsl:template match="AddMeterDefinitions[../itronVersion='3.70']">
        <xsl:apply-templates select="." mode="Itr370"/>
    </xsl:template>
    
    <xsl:template match="AddMeterDefinitions[../itronVersion='3.90']">
        <xsl:apply-templates select="." mode="Itr390"/>
    </xsl:template>

<xsl:template match="*[local-name() != 'string']" mode="Itr370">
        <xsl:element name="{local-name()}" namespace="http://www.itron.com/ami/2008/10/provisioning">
            <xsl:apply-templates select="*|text()" mode="Itr370"/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="*[local-name() != 'string']" mode="Itr390">
        <xsl:element name="{local-name()}" namespace="http://www.itron.com/ami/2009/08/provisioning">
            <xsl:apply-templates select="*|text()" mode="Itr390"/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="string" mode="Itr390">
        <xsl:element name="string" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>

<xsl:template match="string" mode="Itr370">
        <xsl:element name="string" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    
</xsl:stylesheet>

D8-CommissionResponse.xsl

<xsl:stylesheet version="1.0" 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:serArr="http://schemas.microsoft.com/2003/10/Serialization/Arrays" 
        xmlns:prov390="http://www.itron.com/ami/2009/08/provisioning" 
        xmlns:prov370="http://www.itron.com/ami/2008/10/provisioning">

    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>
    
    <xsl:template match="/*">
        <xsl:apply-templates select="./requestEnvelope/AddMeterDefinitions"/>
    </xsl:template>
    
<xsl:template match="AddMeterDefinitions[../itronVersion='3.70']">
        <xsl:apply-templates select="." mode="Itr370"/>
    </xsl:template>
    
    <xsl:template match="AddMeterDefinitions[../itronVersion='3.90']">
        <xsl:apply-templates select="." mode="Itr390"/>
    </xsl:template>

<xsl:template match="*[local-name() != 'string']" mode="Itr370">
        <xsl:element name="{local-name()}" namespace="http://www.itron.com/ami/2008/10/provisioning">
            <xsl:apply-templates select="*|text()" mode="Itr370"/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="*[local-name() != 'string']" mode="Itr390">
        <xsl:element name="{local-name()}" namespace="http://www.itron.com/ami/2009/08/provisioning">
            <xsl:apply-templates select="*|text()" mode="Itr390"/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="string" mode="Itr390">
        <xsl:element name="string" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>

<xsl:template match="string" mode="Itr370">
        <xsl:element name="string" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    
</xsl:stylesheet>