blob: fd93ce7f2f3ce997a5a9efdaeb1928f991188314 [file] [log] [blame]
Stephane Barbarie14088962017-06-01 16:56:55 -04001<?xml version="1.0" standalone="yes"?>
2<!--This XSLT was automatically generated from a Schematron schema.-->
3<axsl:stylesheet xmlns:date="http://exslt.org/dates-and-times" xmlns:dyn="http://exslt.org/dynamic" xmlns:exsl="http://exslt.org/common" xmlns:math="http://exslt.org/math" xmlns:random="http://exslt.org/random" xmlns:regexp="http://exslt.org/regular-expressions" xmlns:set="http://exslt.org/sets" xmlns:str="http://exslt.org/strings" xmlns:axsl="http://www.w3.org/1999/XSL/Transform" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:iso="http://purl.oclc.org/dsdl/schematron" xmlns:voltha="urn:opencord:params:xml:ns:voltha:voltha" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" extension-element-prefixes="date dyn exsl math random regexp set str" version="1.0"><!--Implementers: please note that overriding process-prolog or process-root is
4 the preferred method for meta-stylesheets to use where possible. -->
5<axsl:param name="archiveDirParameter"/><axsl:param name="archiveNameParameter"/><axsl:param name="fileNameParameter"/><axsl:param name="fileDirParameter"/>
6
7<!--PHASES-->
8
9
10<!--PROLOG-->
11<axsl:output xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" method="xml" omit-xml-declaration="no" standalone="yes" indent="yes"/>
12
13<!--KEYS-->
14
15
16<!--DEFAULT RULES-->
17
18
19<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
20<!--This mode can be used to generate an ugly though full XPath for locators-->
21<axsl:template match="*" mode="schematron-select-full-path"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:template>
22
23<!--MODE: SCHEMATRON-FULL-PATH-->
24<!--This mode can be used to generate an ugly though full XPath for locators-->
25<axsl:template match="*" mode="schematron-get-full-path"><axsl:apply-templates select="parent::*" mode="schematron-get-full-path"/><axsl:text>/</axsl:text><axsl:choose><axsl:when test="namespace-uri()=''"><axsl:value-of select="name()"/><axsl:variable name="p_1" select="1+ count(preceding-sibling::*[name()=name(current())])"/><axsl:if test="$p_1&gt;1 or following-sibling::*[name()=name(current())]">[<axsl:value-of select="$p_1"/>]</axsl:if></axsl:when><axsl:otherwise><axsl:text>*[local-name()='</axsl:text><axsl:value-of select="local-name()"/><axsl:text>' and namespace-uri()='</axsl:text><axsl:value-of select="namespace-uri()"/><axsl:text>']</axsl:text><axsl:variable name="p_2" select="1+ count(preceding-sibling::*[local-name()=local-name(current())])"/><axsl:if test="$p_2&gt;1 or following-sibling::*[local-name()=local-name(current())]">[<axsl:value-of select="$p_2"/>]</axsl:if></axsl:otherwise></axsl:choose></axsl:template><axsl:template match="@*" mode="schematron-get-full-path"><axsl:text>/</axsl:text><axsl:choose><axsl:when test="namespace-uri()=''">@<axsl:value-of select="name()"/></axsl:when><axsl:otherwise><axsl:text>@*[local-name()='</axsl:text><axsl:value-of select="local-name()"/><axsl:text>' and namespace-uri()='</axsl:text><axsl:value-of select="namespace-uri()"/><axsl:text>']</axsl:text></axsl:otherwise></axsl:choose></axsl:template>
26
27<!--MODE: SCHEMATRON-FULL-PATH-2-->
28<!--This mode can be used to generate prefixed XPath for humans-->
29<axsl:template match="node() | @*" mode="schematron-get-full-path-2"><axsl:for-each select="ancestor-or-self::*"><axsl:text>/</axsl:text><axsl:value-of select="name(.)"/><axsl:if test="preceding-sibling::*[name(.)=name(current())]"><axsl:text>[</axsl:text><axsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/><axsl:text>]</axsl:text></axsl:if></axsl:for-each><axsl:if test="not(self::*)"><axsl:text/>/@<axsl:value-of select="name(.)"/></axsl:if></axsl:template>
30
31<!--MODE: GENERATE-ID-FROM-PATH -->
32<axsl:template match="/" mode="generate-id-from-path"/><axsl:template match="text()" mode="generate-id-from-path"><axsl:apply-templates select="parent::*" mode="generate-id-from-path"/><axsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/></axsl:template><axsl:template match="comment()" mode="generate-id-from-path"><axsl:apply-templates select="parent::*" mode="generate-id-from-path"/><axsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/></axsl:template><axsl:template match="processing-instruction()" mode="generate-id-from-path"><axsl:apply-templates select="parent::*" mode="generate-id-from-path"/><axsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/></axsl:template><axsl:template match="@*" mode="generate-id-from-path"><axsl:apply-templates select="parent::*" mode="generate-id-from-path"/><axsl:value-of select="concat('.@', name())"/></axsl:template><axsl:template match="*" mode="generate-id-from-path" priority="-0.5"><axsl:apply-templates select="parent::*" mode="generate-id-from-path"/><axsl:text>.</axsl:text><axsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/></axsl:template><!--MODE: SCHEMATRON-FULL-PATH-3-->
33<!--This mode can be used to generate prefixed XPath for humans
34 (Top-level element has index)-->
35<axsl:template match="node() | @*" mode="schematron-get-full-path-3"><axsl:for-each select="ancestor-or-self::*"><axsl:text>/</axsl:text><axsl:value-of select="name(.)"/><axsl:if test="parent::*"><axsl:text>[</axsl:text><axsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/><axsl:text>]</axsl:text></axsl:if></axsl:for-each><axsl:if test="not(self::*)"><axsl:text/>/@<axsl:value-of select="name(.)"/></axsl:if></axsl:template>
36
37<!--MODE: GENERATE-ID-2 -->
38<axsl:template match="/" mode="generate-id-2">U</axsl:template><axsl:template match="*" mode="generate-id-2" priority="2"><axsl:text>U</axsl:text><axsl:number level="multiple" count="*"/></axsl:template><axsl:template match="node()" mode="generate-id-2"><axsl:text>U.</axsl:text><axsl:number level="multiple" count="*"/><axsl:text>n</axsl:text><axsl:number count="node()"/></axsl:template><axsl:template match="@*" mode="generate-id-2"><axsl:text>U.</axsl:text><axsl:number level="multiple" count="*"/><axsl:text>_</axsl:text><axsl:value-of select="string-length(local-name(.))"/><axsl:text>_</axsl:text><axsl:value-of select="translate(name(),':','.')"/></axsl:template><!--Strip characters--><axsl:template match="text()" priority="-1"/>
39
40<!--SCHEMA METADATA-->
41<axsl:template match="/"><svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" title="" schemaVersion=""><axsl:comment><axsl:value-of select="$archiveDirParameter"/>  
42 <axsl:value-of select="$archiveNameParameter"/>  
43 <axsl:value-of select="$fileNameParameter"/>  
44 <axsl:value-of select="$fileDirParameter"/></axsl:comment><svrl:ns-prefix-in-attribute-values uri="http://exslt.org/dynamic" prefix="dyn"/><svrl:ns-prefix-in-attribute-values uri="urn:opencord:params:xml:ns:voltha:voltha" prefix="voltha"/><svrl:ns-prefix-in-attribute-values uri="urn:ietf:params:xml:ns:netconf:base:1.0" prefix="nc"/><svrl:active-pattern><axsl:attribute name="id">voltha</axsl:attribute><axsl:attribute name="name">voltha</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M4"/><svrl:active-pattern><axsl:attribute name="id">idm139853992598368</axsl:attribute><axsl:attribute name="name">idm139853992598368</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M5"/><svrl:active-pattern><axsl:attribute name="id">idm139853992594640</axsl:attribute><axsl:attribute name="name">idm139853992594640</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M6"/><svrl:active-pattern><axsl:attribute name="id">idm139853992593776</axsl:attribute><axsl:attribute name="name">idm139853992593776</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M7"/><svrl:active-pattern><axsl:attribute name="id">idm139853992565136</axsl:attribute><axsl:attribute name="name">idm139853992565136</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M8"/><svrl:active-pattern><axsl:attribute name="id">idm139853992564208</axsl:attribute><axsl:attribute name="name">idm139853992564208</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M9"/><svrl:active-pattern><axsl:attribute name="id">idm139853992563280</axsl:attribute><axsl:attribute name="name">idm139853992563280</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M10"/><svrl:active-pattern><axsl:attribute name="id">idm139853992544272</axsl:attribute><axsl:attribute name="name">idm139853992544272</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M11"/><svrl:active-pattern><axsl:attribute name="id">idm139853992539920</axsl:attribute><axsl:attribute name="name">idm139853992539920</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M12"/><svrl:active-pattern><axsl:attribute name="id">idm139853992538992</axsl:attribute><axsl:attribute name="name">idm139853992538992</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M13"/><svrl:active-pattern><axsl:attribute name="id">idm139853992510432</axsl:attribute><axsl:attribute name="name">idm139853992510432</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M14"/><svrl:active-pattern><axsl:attribute name="id">idm139853992509504</axsl:attribute><axsl:attribute name="name">idm139853992509504</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M15"/><svrl:active-pattern><axsl:attribute name="id">idm139853992508576</axsl:attribute><axsl:attribute name="name">idm139853992508576</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M16"/><svrl:active-pattern><axsl:attribute name="id">idm139853992475568</axsl:attribute><axsl:attribute name="name">idm139853992475568</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M17"/><svrl:active-pattern><axsl:attribute name="id">idm139853992471552</axsl:attribute><axsl:attribute name="name">idm139853992471552</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M18"/><svrl:active-pattern><axsl:attribute name="id">idm139853992470624</axsl:attribute><axsl:attribute name="name">idm139853992470624</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M19"/><svrl:active-pattern><axsl:attribute name="id">idm139853992442064</axsl:attribute><axsl:attribute name="name">idm139853992442064</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M20"/><svrl:active-pattern><axsl:attribute name="id">idm139853992441136</axsl:attribute><axsl:attribute name="name">idm139853992441136</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M21"/><svrl:active-pattern><axsl:attribute name="id">idm139853992440208</axsl:attribute><axsl:attribute name="name">idm139853992440208</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M22"/><svrl:active-pattern><axsl:attribute name="id">idm139853992420976</axsl:attribute><axsl:attribute name="name">idm139853992420976</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M23"/><svrl:active-pattern><axsl:attribute name="id">idm139853992416960</axsl:attribute><axsl:attribute name="name">idm139853992416960</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M24"/><svrl:active-pattern><axsl:attribute name="id">idm139853992416032</axsl:attribute><axsl:attribute name="name">idm139853992416032</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M25"/><svrl:active-pattern><axsl:attribute name="id">idm139853992387472</axsl:attribute><axsl:attribute name="name">idm139853992387472</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M26"/><svrl:active-pattern><axsl:attribute name="id">idm139853992386544</axsl:attribute><axsl:attribute name="name">idm139853992386544</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M27"/><svrl:active-pattern><axsl:attribute name="id">idm139853992385616</axsl:attribute><axsl:attribute name="name">idm139853992385616</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M28"/><svrl:active-pattern><axsl:attribute name="id">idm139853992361888</axsl:attribute><axsl:attribute name="name">idm139853992361888</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M29"/><svrl:active-pattern><axsl:attribute name="id">idm139853992357872</axsl:attribute><axsl:attribute name="name">idm139853992357872</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M30"/><svrl:active-pattern><axsl:attribute name="id">idm139853992356944</axsl:attribute><axsl:attribute name="name">idm139853992356944</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M31"/><svrl:active-pattern><axsl:attribute name="id">idm139853992328384</axsl:attribute><axsl:attribute name="name">idm139853992328384</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M32"/><svrl:active-pattern><axsl:attribute name="id">idm139853992327456</axsl:attribute><axsl:attribute name="name">idm139853992327456</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M33"/><svrl:active-pattern><axsl:attribute name="id">idm139853992326528</axsl:attribute><axsl:attribute name="name">idm139853992326528</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M34"/><svrl:active-pattern><axsl:attribute name="id">idm139853992312448</axsl:attribute><axsl:attribute name="name">idm139853992312448</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M35"/><svrl:active-pattern><axsl:attribute name="id">idm139853992308432</axsl:attribute><axsl:attribute name="name">idm139853992308432</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M36"/><svrl:active-pattern><axsl:attribute name="id">idm139853992307504</axsl:attribute><axsl:attribute name="name">idm139853992307504</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M37"/><svrl:active-pattern><axsl:attribute name="id">idm139853992278944</axsl:attribute><axsl:attribute name="name">idm139853992278944</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M38"/><svrl:active-pattern><axsl:attribute name="id">idm139853992278016</axsl:attribute><axsl:attribute name="name">idm139853992278016</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M39"/><svrl:active-pattern><axsl:attribute name="id">idm139853992277088</axsl:attribute><axsl:attribute name="name">idm139853992277088</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M40"/><svrl:active-pattern><axsl:attribute name="id">idm139853992264352</axsl:attribute><axsl:attribute name="name">idm139853992264352</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M41"/><svrl:active-pattern><axsl:attribute name="id">idm139853992242320</axsl:attribute><axsl:attribute name="name">idm139853992242320</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M42"/><svrl:active-pattern><axsl:attribute name="id">idm139853992198304</axsl:attribute><axsl:attribute name="name">idm139853992198304</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M43"/><svrl:active-pattern><axsl:attribute name="id">idm139853992192064</axsl:attribute><axsl:attribute name="name">idm139853992192064</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M44"/><svrl:active-pattern><axsl:attribute name="id">idm139853992179296</axsl:attribute><axsl:attribute name="name">idm139853992179296</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M45"/><svrl:active-pattern><axsl:attribute name="id">idm139853992178336</axsl:attribute><axsl:attribute name="name">idm139853992178336</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M46"/><svrl:active-pattern><axsl:attribute name="id">idm139853992177376</axsl:attribute><axsl:attribute name="name">idm139853992177376</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M47"/><svrl:active-pattern><axsl:attribute name="id">idm139853992176432</axsl:attribute><axsl:attribute name="name">idm139853992176432</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M48"/><svrl:active-pattern><axsl:attribute name="id">idm139853992175488</axsl:attribute><axsl:attribute name="name">idm139853992175488</axsl:attribute><axsl:apply-templates/></svrl:active-pattern><axsl:apply-templates select="/" mode="M49"/></svrl:schematron-output></axsl:template>
45
46<!--SCHEMATRON PATTERNS-->
47<axsl:param name="root" select="/nc:config"/>
48
49<!--PATTERN voltha-->
50
51
52 <!--RULE -->
53<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:adapters" priority="1059" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:adapters"/>
54
55 <!--REPORT -->
56<axsl:if test="preceding-sibling::voltha:adapters[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:adapters[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
57
58 <!--RULE -->
59<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:adapters/voltha:logical_device_ids" priority="1058" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:adapters/voltha:logical_device_ids"/>
60
61 <!--REPORT -->
62<axsl:if test="preceding-sibling::voltha:logical_device_ids[voltha:logical_device_ids=current()/voltha:logical_device_ids]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_device_ids[voltha:logical_device_ids=current()/voltha:logical_device_ids]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:logical_device_ids"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
63
64 <!--RULE -->
65<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices" priority="1057" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices"/>
66
67 <!--REPORT -->
68<axsl:if test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
69
70 <!--RULE -->
71<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:ports" priority="1056" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:ports"/>
72
73 <!--REPORT -->
74<axsl:if test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
75
76 <!--RULE -->
77<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices" priority="1055" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices"/>
78
79 <!--REPORT -->
80<axsl:if test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
81
82 <!--RULE -->
83<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:ports" priority="1054" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:ports"/>
84
85 <!--REPORT -->
86<axsl:if test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_no"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
87
88 <!--RULE -->
89<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:ports/voltha:peers" priority="1053" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:ports/voltha:peers"/>
90
91 <!--REPORT -->
92<axsl:if test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:device_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
93
94 <!--RULE -->
95<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_types" priority="1052" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_types"/>
96
97 <!--REPORT -->
98<axsl:if test="preceding-sibling::voltha:device_types[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:device_types[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
99
100 <!--RULE -->
101<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups" priority="1051" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups"/>
102
103 <!--REPORT -->
104<axsl:if test="preceding-sibling::voltha:device_groups[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:device_groups[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
105
106 <!--RULE -->
107<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices" priority="1050" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices"/>
108
109 <!--REPORT -->
110<axsl:if test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
111
112 <!--RULE -->
113<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:ports" priority="1049" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:ports"/>
114
115 <!--REPORT -->
116<axsl:if test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
117
118 <!--RULE -->
119<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices" priority="1048" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices"/>
120
121 <!--REPORT -->
122<axsl:if test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
123
124 <!--RULE -->
125<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:ports" priority="1047" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:ports"/>
126
127 <!--REPORT -->
128<axsl:if test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_no"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
129
130 <!--RULE -->
131<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:ports/voltha:peers" priority="1046" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:ports/voltha:peers"/>
132
133 <!--REPORT -->
134<axsl:if test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:device_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
135
136 <!--RULE -->
137<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:alarm_filters" priority="1045" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:alarm_filters"/>
138
139 <!--REPORT -->
140<axsl:if test="preceding-sibling::voltha:alarm_filters[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:alarm_filters[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
141
142 <!--RULE -->
143<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:alarm_filters/voltha:rules" priority="1044" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:alarm_filters/voltha:rules"/>
144
145 <!--REPORT -->
146<axsl:if test="preceding-sibling::voltha:rules[voltha:key=current()/voltha:key]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:rules[voltha:key=current()/voltha:key]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:key"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
147
148 <!--RULE -->
149<axsl:template match="/nc:config/voltha:VolthaInstances/voltha:items" priority="1043" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstances/voltha:items"/>
150
151 <!--REPORT -->
152<axsl:if test="preceding-sibling::voltha:items[voltha:items=current()/voltha:items]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:items=current()/voltha:items]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:items"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
153
154 <!--RULE -->
155<axsl:template match="/nc:config/voltha:Voltha/voltha:instances" priority="1042" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances"/>
156
157 <!--REPORT -->
158<axsl:if test="preceding-sibling::voltha:instances[voltha:instance_id=current()/voltha:instance_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instances[voltha:instance_id=current()/voltha:instance_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:instance_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
159
160 <!--RULE -->
161<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:adapters" priority="1041" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:adapters"/>
162
163 <!--REPORT -->
164<axsl:if test="preceding-sibling::voltha:adapters[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:adapters[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
165
166 <!--RULE -->
167<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:adapters/voltha:logical_device_ids" priority="1040" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:adapters/voltha:logical_device_ids"/>
168
169 <!--REPORT -->
170<axsl:if test="preceding-sibling::voltha:logical_device_ids[voltha:logical_device_ids=current()/voltha:logical_device_ids]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_device_ids[voltha:logical_device_ids=current()/voltha:logical_device_ids]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:logical_device_ids"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
171
172 <!--RULE -->
173<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices" priority="1039" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices"/>
174
175 <!--REPORT -->
176<axsl:if test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
177
178 <!--RULE -->
179<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:ports" priority="1038" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:ports"/>
180
181 <!--REPORT -->
182<axsl:if test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
183
184 <!--RULE -->
185<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices" priority="1037" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices"/>
186
187 <!--REPORT -->
188<axsl:if test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
189
190 <!--RULE -->
191<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:ports" priority="1036" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:ports"/>
192
193 <!--REPORT -->
194<axsl:if test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_no"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
195
196 <!--RULE -->
197<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:ports/voltha:peers" priority="1035" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:ports/voltha:peers"/>
198
199 <!--REPORT -->
200<axsl:if test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:device_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
201
202 <!--RULE -->
203<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_types" priority="1034" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_types"/>
204
205 <!--REPORT -->
206<axsl:if test="preceding-sibling::voltha:device_types[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:device_types[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
207
208 <!--RULE -->
209<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups" priority="1033" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups"/>
210
211 <!--REPORT -->
212<axsl:if test="preceding-sibling::voltha:device_groups[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:device_groups[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
213
214 <!--RULE -->
215<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices" priority="1032" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices"/>
216
217 <!--REPORT -->
218<axsl:if test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
219
220 <!--RULE -->
221<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:ports" priority="1031" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:ports"/>
222
223 <!--REPORT -->
224<axsl:if test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
225
226 <!--RULE -->
227<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices" priority="1030" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices"/>
228
229 <!--REPORT -->
230<axsl:if test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
231
232 <!--RULE -->
233<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:ports" priority="1029" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:ports"/>
234
235 <!--REPORT -->
236<axsl:if test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_no"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
237
238 <!--RULE -->
239<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:ports/voltha:peers" priority="1028" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:ports/voltha:peers"/>
240
241 <!--REPORT -->
242<axsl:if test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:device_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
243
244 <!--RULE -->
245<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:alarm_filters" priority="1027" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:alarm_filters"/>
246
247 <!--REPORT -->
248<axsl:if test="preceding-sibling::voltha:alarm_filters[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:alarm_filters[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
249
250 <!--RULE -->
251<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:alarm_filters/voltha:rules" priority="1026" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:alarm_filters/voltha:rules"/>
252
253 <!--REPORT -->
254<axsl:if test="preceding-sibling::voltha:rules[voltha:key=current()/voltha:key]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:rules[voltha:key=current()/voltha:key]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:key"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
255
256 <!--RULE -->
257<axsl:template match="/nc:config/voltha:Voltha/voltha:adapters" priority="1025" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:adapters"/>
258
259 <!--REPORT -->
260<axsl:if test="preceding-sibling::voltha:adapters[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:adapters[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
261
262 <!--RULE -->
263<axsl:template match="/nc:config/voltha:Voltha/voltha:adapters/voltha:logical_device_ids" priority="1024" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:adapters/voltha:logical_device_ids"/>
264
265 <!--REPORT -->
266<axsl:if test="preceding-sibling::voltha:logical_device_ids[voltha:logical_device_ids=current()/voltha:logical_device_ids]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_device_ids[voltha:logical_device_ids=current()/voltha:logical_device_ids]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:logical_device_ids"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
267
268 <!--RULE -->
269<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices" priority="1023" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices"/>
270
271 <!--REPORT -->
272<axsl:if test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
273
274 <!--RULE -->
275<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:ports" priority="1022" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:ports"/>
276
277 <!--REPORT -->
278<axsl:if test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
279
280 <!--RULE -->
281<axsl:template match="/nc:config/voltha:Voltha/voltha:devices" priority="1021" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices"/>
282
283 <!--REPORT -->
284<axsl:if test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
285
286 <!--RULE -->
287<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:ports" priority="1020" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:ports"/>
288
289 <!--REPORT -->
290<axsl:if test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_no"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
291
292 <!--RULE -->
293<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:ports/voltha:peers" priority="1019" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:ports/voltha:peers"/>
294
295 <!--REPORT -->
296<axsl:if test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:device_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
297
298 <!--RULE -->
299<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups" priority="1018" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups"/>
300
301 <!--REPORT -->
302<axsl:if test="preceding-sibling::voltha:device_groups[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:device_groups[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
303
304 <!--RULE -->
305<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices" priority="1017" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices"/>
306
307 <!--REPORT -->
308<axsl:if test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:logical_devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
309
310 <!--RULE -->
311<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:ports" priority="1016" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:ports"/>
312
313 <!--REPORT -->
314<axsl:if test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
315
316 <!--RULE -->
317<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices" priority="1015" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices"/>
318
319 <!--REPORT -->
320<axsl:if test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:devices[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
321
322 <!--RULE -->
323<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:ports" priority="1014" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:ports"/>
324
325 <!--REPORT -->
326<axsl:if test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:ports[voltha:port_no=current()/voltha:port_no]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_no"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
327
328 <!--RULE -->
329<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:ports/voltha:peers" priority="1013" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:ports/voltha:peers"/>
330
331 <!--REPORT -->
332<axsl:if test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:peers[voltha:device_id=current()/voltha:device_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:device_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
333
334 <!--RULE -->
335<axsl:template match="/nc:config/voltha:ofp_hello/voltha:elements" priority="1012" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_hello/voltha:elements"/>
336
337 <!--REPORT -->
338<axsl:if test="preceding-sibling::voltha:elements[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:elements[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
339
340 <!--RULE -->
341<axsl:template match="/nc:config/voltha:ofp_port_mod/voltha:hw_addr" priority="1011" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_port_mod/voltha:hw_addr"/>
342
343 <!--REPORT -->
344<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
345
346 <!--RULE -->
347<axsl:template match="/nc:config/voltha:ofp_meter_mod/voltha:bands" priority="1010" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_meter_mod/voltha:bands"/>
348
349 <!--REPORT -->
350<axsl:if test="preceding-sibling::voltha:bands[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:bands[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
351
352 <!--RULE -->
353<axsl:template match="/nc:config/voltha:ofp_table_features/voltha:properties" priority="1009" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_table_features/voltha:properties"/>
354
355 <!--REPORT -->
356<axsl:if test="preceding-sibling::voltha:properties[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:properties[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
357
358 <!--RULE -->
359<axsl:template match="/nc:config/voltha:ofp_group_features/voltha:max_groups" priority="1008" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_group_features/voltha:max_groups"/>
360
361 <!--REPORT -->
362<axsl:if test="preceding-sibling::voltha:max_groups[voltha:max_groups=current()/voltha:max_groups]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:max_groups[voltha:max_groups=current()/voltha:max_groups]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:max_groups"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
363
364 <!--RULE -->
365<axsl:template match="/nc:config/voltha:ofp_group_features/voltha:actions" priority="1007" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_group_features/voltha:actions"/>
366
367 <!--REPORT -->
368<axsl:if test="preceding-sibling::voltha:actions[voltha:actions=current()/voltha:actions]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:actions=current()/voltha:actions]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:actions"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
369
370 <!--RULE -->
371<axsl:template match="/nc:config/voltha:ofp_meter_stats/voltha:band_stats" priority="1006" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_meter_stats/voltha:band_stats"/>
372
373 <!--REPORT -->
374<axsl:if test="preceding-sibling::voltha:band_stats[voltha:packet_band_count=current()/voltha:packet_band_count]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:band_stats[voltha:packet_band_count=current()/voltha:packet_band_count]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:packet_band_count"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
375
376 <!--RULE -->
377<axsl:template match="/nc:config/voltha:ofp_meter_config/voltha:bands" priority="1005" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_meter_config/voltha:bands"/>
378
379 <!--REPORT -->
380<axsl:if test="preceding-sibling::voltha:bands[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:bands[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
381
382 <!--RULE -->
383<axsl:template match="/nc:config/voltha:ofp_queue_get_config_reply/voltha:queues" priority="1004" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_queue_get_config_reply/voltha:queues"/>
384
385 <!--REPORT -->
386<axsl:if test="preceding-sibling::voltha:queues[voltha:queue_id=current()/voltha:queue_id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:queues[voltha:queue_id=current()/voltha:queue_id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:queue_id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
387
388 <!--RULE -->
389<axsl:template match="/nc:config/voltha:ofp_queue_get_config_reply/voltha:queues/voltha:properties" priority="1003" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_queue_get_config_reply/voltha:queues/voltha:properties"/>
390
391 <!--REPORT -->
392<axsl:if test="preceding-sibling::voltha:properties[voltha:property=current()/voltha:property]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:properties[voltha:property=current()/voltha:property]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:property"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
393
394 <!--RULE -->
395<axsl:template match="/nc:config/voltha:ofp_async_config/voltha:packet_in_mask" priority="1002" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_async_config/voltha:packet_in_mask"/>
396
397 <!--REPORT -->
398<axsl:if test="preceding-sibling::voltha:packet_in_mask[voltha:packet_in_mask=current()/voltha:packet_in_mask]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:packet_in_mask[voltha:packet_in_mask=current()/voltha:packet_in_mask]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:packet_in_mask"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
399
400 <!--RULE -->
401<axsl:template match="/nc:config/voltha:ofp_async_config/voltha:port_status_mask" priority="1001" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_async_config/voltha:port_status_mask"/>
402
403 <!--REPORT -->
404<axsl:if test="preceding-sibling::voltha:port_status_mask[voltha:port_status_mask=current()/voltha:port_status_mask]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:port_status_mask[voltha:port_status_mask=current()/voltha:port_status_mask]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:port_status_mask"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
405
406 <!--RULE -->
407<axsl:template match="/nc:config/voltha:ofp_async_config/voltha:flow_removed_mask" priority="1000" mode="M4"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_async_config/voltha:flow_removed_mask"/>
408
409 <!--REPORT -->
410<axsl:if test="preceding-sibling::voltha:flow_removed_mask[voltha:flow_removed_mask=current()/voltha:flow_removed_mask]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:flow_removed_mask[voltha:flow_removed_mask=current()/voltha:flow_removed_mask]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "voltha:flow_removed_mask"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template><axsl:template match="text()" priority="-1" mode="M4"/><axsl:template match="@*|node()" priority="-2" mode="M4"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M4"/></axsl:template>
411
412<!--PATTERN idm139853992598368-->
413
414
415 <!--RULE -->
416<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr" priority="1000" mode="M5"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr"/>
417
418 <!--REPORT -->
419<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M5"/></axsl:template><axsl:template match="text()" priority="-1" mode="M5"/><axsl:template match="@*|node()" priority="-2" mode="M5"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M5"/></axsl:template>
420
421<!--PATTERN idm139853992594640-->
422
423
424 <!--RULE -->
425<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flows/voltha:items" priority="1001" mode="M6"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flows/voltha:items"/>
426
427 <!--REPORT -->
428<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M6"/></axsl:template>
429
430 <!--RULE -->
431<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M6"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions"/>
432
433 <!--REPORT -->
434<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M6"/></axsl:template><axsl:template match="text()" priority="-1" mode="M6"/><axsl:template match="@*|node()" priority="-2" mode="M6"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M6"/></axsl:template>
435
436<!--PATTERN idm139853992593776-->
437
438
439 <!--RULE -->
440<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flow_groups/voltha:items" priority="1002" mode="M7"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flow_groups/voltha:items"/>
441
442 <!--REPORT -->
443<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/></axsl:template>
444
445 <!--RULE -->
446<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M7"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
447
448 <!--REPORT -->
449<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/></axsl:template>
450
451 <!--RULE -->
452<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M7"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
453
454 <!--REPORT -->
455<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/></axsl:template><axsl:template match="text()" priority="-1" mode="M7"/><axsl:template match="@*|node()" priority="-2" mode="M7"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/></axsl:template>
456
457<!--PATTERN idm139853992565136-->
458
459
460 <!--RULE -->
461<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flows/voltha:items" priority="1001" mode="M8"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flows/voltha:items"/>
462
463 <!--REPORT -->
464<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/></axsl:template>
465
466 <!--RULE -->
467<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M8"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flows/voltha:items/voltha:instructions"/>
468
469 <!--REPORT -->
470<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/></axsl:template><axsl:template match="text()" priority="-1" mode="M8"/><axsl:template match="@*|node()" priority="-2" mode="M8"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/></axsl:template>
471
472<!--PATTERN idm139853992564208-->
473
474
475 <!--RULE -->
476<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flow_groups/voltha:items" priority="1002" mode="M9"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flow_groups/voltha:items"/>
477
478 <!--REPORT -->
479<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M9"/></axsl:template>
480
481 <!--RULE -->
482<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M9"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
483
484 <!--REPORT -->
485<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M9"/></axsl:template>
486
487 <!--RULE -->
488<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M9"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
489
490 <!--REPORT -->
491<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M9"/></axsl:template><axsl:template match="text()" priority="-1" mode="M9"/><axsl:template match="@*|node()" priority="-2" mode="M9"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M9"/></axsl:template>
492
493<!--PATTERN idm139853992563280-->
494
495
496 <!--RULE -->
497<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:pm_configs/voltha:groups" priority="1002" mode="M10"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:pm_configs/voltha:groups"/>
498
499 <!--REPORT -->
500<axsl:if test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "group_name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M10"/></axsl:template>
501
502 <!--RULE -->
503<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics" priority="1001" mode="M10"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics"/>
504
505 <!--REPORT -->
506<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M10"/></axsl:template>
507
508 <!--RULE -->
509<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:pm_configs/voltha:metrics" priority="1000" mode="M10"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:devices/voltha:pm_configs/voltha:metrics"/>
510
511 <!--REPORT -->
512<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M10"/></axsl:template><axsl:template match="text()" priority="-1" mode="M10"/><axsl:template match="@*|node()" priority="-2" mode="M10"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M10"/></axsl:template>
513
514<!--PATTERN idm139853992544272-->
515
516
517 <!--RULE -->
518<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr" priority="1000" mode="M11"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr"/>
519
520 <!--REPORT -->
521<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M11"/></axsl:template><axsl:template match="text()" priority="-1" mode="M11"/><axsl:template match="@*|node()" priority="-2" mode="M11"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M11"/></axsl:template>
522
523<!--PATTERN idm139853992539920-->
524
525
526 <!--RULE -->
527<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items" priority="1001" mode="M12"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items"/>
528
529 <!--REPORT -->
530<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M12"/></axsl:template>
531
532 <!--RULE -->
533<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M12"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions"/>
534
535 <!--REPORT -->
536<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M12"/></axsl:template><axsl:template match="text()" priority="-1" mode="M12"/><axsl:template match="@*|node()" priority="-2" mode="M12"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M12"/></axsl:template>
537
538<!--PATTERN idm139853992538992-->
539
540
541 <!--RULE -->
542<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items" priority="1002" mode="M13"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items"/>
543
544 <!--REPORT -->
545<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M13"/></axsl:template>
546
547 <!--RULE -->
548<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M13"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
549
550 <!--REPORT -->
551<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M13"/></axsl:template>
552
553 <!--RULE -->
554<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M13"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
555
556 <!--REPORT -->
557<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M13"/></axsl:template><axsl:template match="text()" priority="-1" mode="M13"/><axsl:template match="@*|node()" priority="-2" mode="M13"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M13"/></axsl:template>
558
559<!--PATTERN idm139853992510432-->
560
561
562 <!--RULE -->
563<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flows/voltha:items" priority="1001" mode="M14"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flows/voltha:items"/>
564
565 <!--REPORT -->
566<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M14"/></axsl:template>
567
568 <!--RULE -->
569<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M14"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flows/voltha:items/voltha:instructions"/>
570
571 <!--REPORT -->
572<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M14"/></axsl:template><axsl:template match="text()" priority="-1" mode="M14"/><axsl:template match="@*|node()" priority="-2" mode="M14"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M14"/></axsl:template>
573
574<!--PATTERN idm139853992509504-->
575
576
577 <!--RULE -->
578<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items" priority="1002" mode="M15"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items"/>
579
580 <!--REPORT -->
581<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M15"/></axsl:template>
582
583 <!--RULE -->
584<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M15"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
585
586 <!--REPORT -->
587<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M15"/></axsl:template>
588
589 <!--RULE -->
590<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M15"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
591
592 <!--REPORT -->
593<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M15"/></axsl:template><axsl:template match="text()" priority="-1" mode="M15"/><axsl:template match="@*|node()" priority="-2" mode="M15"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M15"/></axsl:template>
594
595<!--PATTERN idm139853992508576-->
596
597
598 <!--RULE -->
599<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups" priority="1002" mode="M16"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups"/>
600
601 <!--REPORT -->
602<axsl:if test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "group_name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M16"/></axsl:template>
603
604 <!--RULE -->
605<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics" priority="1001" mode="M16"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics"/>
606
607 <!--REPORT -->
608<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M16"/></axsl:template>
609
610 <!--RULE -->
611<axsl:template match="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:metrics" priority="1000" mode="M16"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:VolthaInstance/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:metrics"/>
612
613 <!--REPORT -->
614<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M16"/></axsl:template><axsl:template match="text()" priority="-1" mode="M16"/><axsl:template match="@*|node()" priority="-2" mode="M16"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M16"/></axsl:template>
615
616<!--PATTERN idm139853992475568-->
617
618
619 <!--RULE -->
620<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr" priority="1000" mode="M17"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr"/>
621
622 <!--REPORT -->
623<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M17"/></axsl:template><axsl:template match="text()" priority="-1" mode="M17"/><axsl:template match="@*|node()" priority="-2" mode="M17"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M17"/></axsl:template>
624
625<!--PATTERN idm139853992471552-->
626
627
628 <!--RULE -->
629<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flows/voltha:items" priority="1001" mode="M18"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flows/voltha:items"/>
630
631 <!--REPORT -->
632<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M18"/></axsl:template>
633
634 <!--RULE -->
635<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M18"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions"/>
636
637 <!--REPORT -->
638<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M18"/></axsl:template><axsl:template match="text()" priority="-1" mode="M18"/><axsl:template match="@*|node()" priority="-2" mode="M18"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M18"/></axsl:template>
639
640<!--PATTERN idm139853992470624-->
641
642
643 <!--RULE -->
644<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flow_groups/voltha:items" priority="1002" mode="M19"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flow_groups/voltha:items"/>
645
646 <!--REPORT -->
647<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M19"/></axsl:template>
648
649 <!--RULE -->
650<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M19"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
651
652 <!--REPORT -->
653<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M19"/></axsl:template>
654
655 <!--RULE -->
656<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M19"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
657
658 <!--REPORT -->
659<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M19"/></axsl:template><axsl:template match="text()" priority="-1" mode="M19"/><axsl:template match="@*|node()" priority="-2" mode="M19"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M19"/></axsl:template>
660
661<!--PATTERN idm139853992442064-->
662
663
664 <!--RULE -->
665<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flows/voltha:items" priority="1001" mode="M20"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flows/voltha:items"/>
666
667 <!--REPORT -->
668<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M20"/></axsl:template>
669
670 <!--RULE -->
671<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M20"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flows/voltha:items/voltha:instructions"/>
672
673 <!--REPORT -->
674<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M20"/></axsl:template><axsl:template match="text()" priority="-1" mode="M20"/><axsl:template match="@*|node()" priority="-2" mode="M20"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M20"/></axsl:template>
675
676<!--PATTERN idm139853992441136-->
677
678
679 <!--RULE -->
680<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flow_groups/voltha:items" priority="1002" mode="M21"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flow_groups/voltha:items"/>
681
682 <!--REPORT -->
683<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M21"/></axsl:template>
684
685 <!--RULE -->
686<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M21"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
687
688 <!--REPORT -->
689<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M21"/></axsl:template>
690
691 <!--RULE -->
692<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M21"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
693
694 <!--REPORT -->
695<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M21"/></axsl:template><axsl:template match="text()" priority="-1" mode="M21"/><axsl:template match="@*|node()" priority="-2" mode="M21"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M21"/></axsl:template>
696
697<!--PATTERN idm139853992440208-->
698
699
700 <!--RULE -->
701<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:pm_configs/voltha:groups" priority="1002" mode="M22"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:pm_configs/voltha:groups"/>
702
703 <!--REPORT -->
704<axsl:if test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "group_name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M22"/></axsl:template>
705
706 <!--RULE -->
707<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics" priority="1001" mode="M22"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics"/>
708
709 <!--REPORT -->
710<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M22"/></axsl:template>
711
712 <!--RULE -->
713<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:pm_configs/voltha:metrics" priority="1000" mode="M22"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:devices/voltha:pm_configs/voltha:metrics"/>
714
715 <!--REPORT -->
716<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M22"/></axsl:template><axsl:template match="text()" priority="-1" mode="M22"/><axsl:template match="@*|node()" priority="-2" mode="M22"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M22"/></axsl:template>
717
718<!--PATTERN idm139853992420976-->
719
720
721 <!--RULE -->
722<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr" priority="1000" mode="M23"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr"/>
723
724 <!--REPORT -->
725<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M23"/></axsl:template><axsl:template match="text()" priority="-1" mode="M23"/><axsl:template match="@*|node()" priority="-2" mode="M23"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M23"/></axsl:template>
726
727<!--PATTERN idm139853992416960-->
728
729
730 <!--RULE -->
731<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items" priority="1001" mode="M24"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items"/>
732
733 <!--REPORT -->
734<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M24"/></axsl:template>
735
736 <!--RULE -->
737<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M24"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions"/>
738
739 <!--REPORT -->
740<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M24"/></axsl:template><axsl:template match="text()" priority="-1" mode="M24"/><axsl:template match="@*|node()" priority="-2" mode="M24"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M24"/></axsl:template>
741
742<!--PATTERN idm139853992416032-->
743
744
745 <!--RULE -->
746<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items" priority="1002" mode="M25"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items"/>
747
748 <!--REPORT -->
749<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M25"/></axsl:template>
750
751 <!--RULE -->
752<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M25"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
753
754 <!--REPORT -->
755<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M25"/></axsl:template>
756
757 <!--RULE -->
758<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M25"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
759
760 <!--REPORT -->
761<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M25"/></axsl:template><axsl:template match="text()" priority="-1" mode="M25"/><axsl:template match="@*|node()" priority="-2" mode="M25"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M25"/></axsl:template>
762
763<!--PATTERN idm139853992387472-->
764
765
766 <!--RULE -->
767<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flows/voltha:items" priority="1001" mode="M26"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flows/voltha:items"/>
768
769 <!--REPORT -->
770<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M26"/></axsl:template>
771
772 <!--RULE -->
773<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M26"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flows/voltha:items/voltha:instructions"/>
774
775 <!--REPORT -->
776<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M26"/></axsl:template><axsl:template match="text()" priority="-1" mode="M26"/><axsl:template match="@*|node()" priority="-2" mode="M26"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M26"/></axsl:template>
777
778<!--PATTERN idm139853992386544-->
779
780
781 <!--RULE -->
782<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items" priority="1002" mode="M27"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items"/>
783
784 <!--REPORT -->
785<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M27"/></axsl:template>
786
787 <!--RULE -->
788<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M27"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
789
790 <!--REPORT -->
791<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M27"/></axsl:template>
792
793 <!--RULE -->
794<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M27"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
795
796 <!--REPORT -->
797<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M27"/></axsl:template><axsl:template match="text()" priority="-1" mode="M27"/><axsl:template match="@*|node()" priority="-2" mode="M27"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M27"/></axsl:template>
798
799<!--PATTERN idm139853992385616-->
800
801
802 <!--RULE -->
803<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups" priority="1002" mode="M28"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups"/>
804
805 <!--REPORT -->
806<axsl:if test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "group_name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M28"/></axsl:template>
807
808 <!--RULE -->
809<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics" priority="1001" mode="M28"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics"/>
810
811 <!--REPORT -->
812<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M28"/></axsl:template>
813
814 <!--RULE -->
815<axsl:template match="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:metrics" priority="1000" mode="M28"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:instances/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:metrics"/>
816
817 <!--REPORT -->
818<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M28"/></axsl:template><axsl:template match="text()" priority="-1" mode="M28"/><axsl:template match="@*|node()" priority="-2" mode="M28"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M28"/></axsl:template>
819
820<!--PATTERN idm139853992361888-->
821
822
823 <!--RULE -->
824<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr" priority="1000" mode="M29"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr"/>
825
826 <!--REPORT -->
827<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M29"/></axsl:template><axsl:template match="text()" priority="-1" mode="M29"/><axsl:template match="@*|node()" priority="-2" mode="M29"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M29"/></axsl:template>
828
829<!--PATTERN idm139853992357872-->
830
831
832 <!--RULE -->
833<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flows/voltha:items" priority="1001" mode="M30"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flows/voltha:items"/>
834
835 <!--REPORT -->
836<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M30"/></axsl:template>
837
838 <!--RULE -->
839<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M30"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions"/>
840
841 <!--REPORT -->
842<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M30"/></axsl:template><axsl:template match="text()" priority="-1" mode="M30"/><axsl:template match="@*|node()" priority="-2" mode="M30"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M30"/></axsl:template>
843
844<!--PATTERN idm139853992356944-->
845
846
847 <!--RULE -->
848<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flow_groups/voltha:items" priority="1002" mode="M31"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flow_groups/voltha:items"/>
849
850 <!--REPORT -->
851<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M31"/></axsl:template>
852
853 <!--RULE -->
854<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M31"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
855
856 <!--REPORT -->
857<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M31"/></axsl:template>
858
859 <!--RULE -->
860<axsl:template match="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M31"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
861
862 <!--REPORT -->
863<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M31"/></axsl:template><axsl:template match="text()" priority="-1" mode="M31"/><axsl:template match="@*|node()" priority="-2" mode="M31"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M31"/></axsl:template>
864
865<!--PATTERN idm139853992328384-->
866
867
868 <!--RULE -->
869<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:flows/voltha:items" priority="1001" mode="M32"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:flows/voltha:items"/>
870
871 <!--REPORT -->
872<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M32"/></axsl:template>
873
874 <!--RULE -->
875<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M32"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:flows/voltha:items/voltha:instructions"/>
876
877 <!--REPORT -->
878<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M32"/></axsl:template><axsl:template match="text()" priority="-1" mode="M32"/><axsl:template match="@*|node()" priority="-2" mode="M32"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M32"/></axsl:template>
879
880<!--PATTERN idm139853992327456-->
881
882
883 <!--RULE -->
884<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:flow_groups/voltha:items" priority="1002" mode="M33"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:flow_groups/voltha:items"/>
885
886 <!--REPORT -->
887<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M33"/></axsl:template>
888
889 <!--RULE -->
890<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M33"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
891
892 <!--REPORT -->
893<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M33"/></axsl:template>
894
895 <!--RULE -->
896<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M33"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
897
898 <!--REPORT -->
899<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M33"/></axsl:template><axsl:template match="text()" priority="-1" mode="M33"/><axsl:template match="@*|node()" priority="-2" mode="M33"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M33"/></axsl:template>
900
901<!--PATTERN idm139853992326528-->
902
903
904 <!--RULE -->
905<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:pm_configs/voltha:groups" priority="1002" mode="M34"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:pm_configs/voltha:groups"/>
906
907 <!--REPORT -->
908<axsl:if test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "group_name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M34"/></axsl:template>
909
910 <!--RULE -->
911<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics" priority="1001" mode="M34"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics"/>
912
913 <!--REPORT -->
914<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M34"/></axsl:template>
915
916 <!--RULE -->
917<axsl:template match="/nc:config/voltha:Voltha/voltha:devices/voltha:pm_configs/voltha:metrics" priority="1000" mode="M34"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:devices/voltha:pm_configs/voltha:metrics"/>
918
919 <!--REPORT -->
920<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M34"/></axsl:template><axsl:template match="text()" priority="-1" mode="M34"/><axsl:template match="@*|node()" priority="-2" mode="M34"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M34"/></axsl:template>
921
922<!--PATTERN idm139853992312448-->
923
924
925 <!--RULE -->
926<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr" priority="1000" mode="M35"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:ports/voltha:ofp_port/voltha:hw_addr"/>
927
928 <!--REPORT -->
929<axsl:if test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:hw_addr[voltha:hw_addr=current()/voltha:hw_addr]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "hw_addr"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M35"/></axsl:template><axsl:template match="text()" priority="-1" mode="M35"/><axsl:template match="@*|node()" priority="-2" mode="M35"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M35"/></axsl:template>
930
931<!--PATTERN idm139853992308432-->
932
933
934 <!--RULE -->
935<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items" priority="1001" mode="M36"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items"/>
936
937 <!--REPORT -->
938<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M36"/></axsl:template>
939
940 <!--RULE -->
941<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M36"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flows/voltha:items/voltha:instructions"/>
942
943 <!--REPORT -->
944<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M36"/></axsl:template><axsl:template match="text()" priority="-1" mode="M36"/><axsl:template match="@*|node()" priority="-2" mode="M36"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M36"/></axsl:template>
945
946<!--PATTERN idm139853992307504-->
947
948
949 <!--RULE -->
950<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items" priority="1002" mode="M37"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items"/>
951
952 <!--REPORT -->
953<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M37"/></axsl:template>
954
955 <!--RULE -->
956<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M37"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
957
958 <!--REPORT -->
959<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M37"/></axsl:template>
960
961 <!--RULE -->
962<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M37"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:logical_devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
963
964 <!--REPORT -->
965<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M37"/></axsl:template><axsl:template match="text()" priority="-1" mode="M37"/><axsl:template match="@*|node()" priority="-2" mode="M37"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M37"/></axsl:template>
966
967<!--PATTERN idm139853992278944-->
968
969
970 <!--RULE -->
971<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flows/voltha:items" priority="1001" mode="M38"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flows/voltha:items"/>
972
973 <!--REPORT -->
974<axsl:if test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:id=current()/voltha:id]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "id"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M38"/></axsl:template>
975
976 <!--RULE -->
977<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flows/voltha:items/voltha:instructions" priority="1000" mode="M38"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flows/voltha:items/voltha:instructions"/>
978
979 <!--REPORT -->
980<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M38"/></axsl:template><axsl:template match="text()" priority="-1" mode="M38"/><axsl:template match="@*|node()" priority="-2" mode="M38"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M38"/></axsl:template>
981
982<!--PATTERN idm139853992278016-->
983
984
985 <!--RULE -->
986<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items" priority="1002" mode="M39"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items"/>
987
988 <!--REPORT -->
989<axsl:if test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:items[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M39"/></axsl:template>
990
991 <!--RULE -->
992<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets" priority="1001" mode="M39"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets"/>
993
994 <!--REPORT -->
995<axsl:if test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:buckets[voltha:weight=current()/voltha:weight]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "weight"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M39"/></axsl:template>
996
997 <!--RULE -->
998<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions" priority="1000" mode="M39"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:flow_groups/voltha:items/voltha:buckets/voltha:actions"/>
999
1000 <!--REPORT -->
1001<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M39"/></axsl:template><axsl:template match="text()" priority="-1" mode="M39"/><axsl:template match="@*|node()" priority="-2" mode="M39"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M39"/></axsl:template>
1002
1003<!--PATTERN idm139853992277088-->
1004
1005
1006 <!--RULE -->
1007<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups" priority="1002" mode="M40"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups"/>
1008
1009 <!--REPORT -->
1010<axsl:if test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:groups[voltha:group_name=current()/voltha:group_name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "group_name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M40"/></axsl:template>
1011
1012 <!--RULE -->
1013<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics" priority="1001" mode="M40"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:groups/voltha:metrics"/>
1014
1015 <!--REPORT -->
1016<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M40"/></axsl:template>
1017
1018 <!--RULE -->
1019<axsl:template match="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:metrics" priority="1000" mode="M40"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:Voltha/voltha:device_groups/voltha:devices/voltha:pm_configs/voltha:metrics"/>
1020
1021 <!--REPORT -->
1022<axsl:if test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:metrics[voltha:name=current()/voltha:name]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "name"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M40"/></axsl:template><axsl:template match="text()" priority="-1" mode="M40"/><axsl:template match="@*|node()" priority="-2" mode="M40"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M40"/></axsl:template>
1023
1024<!--PATTERN idm139853992264352-->
1025
1026
1027 <!--RULE -->
1028<axsl:template match="/nc:config/voltha:ofp_hello/voltha:elements/voltha:versionbitmap/voltha:bitmaps" priority="1000" mode="M41"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_hello/voltha:elements/voltha:versionbitmap/voltha:bitmaps"/>
1029
1030 <!--REPORT -->
1031<axsl:if test="preceding-sibling::voltha:bitmaps[voltha:bitmaps=current()/voltha:bitmaps]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:bitmaps[voltha:bitmaps=current()/voltha:bitmaps]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "bitmaps"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M41"/></axsl:template><axsl:template match="text()" priority="-1" mode="M41"/><axsl:template match="@*|node()" priority="-2" mode="M41"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M41"/></axsl:template>
1032
1033<!--PATTERN idm139853992242320-->
1034
1035
1036 <!--RULE -->
1037<axsl:template match="/nc:config/voltha:ofp_flow_removed/voltha:match/voltha:oxm_fields" priority="1000" mode="M42"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_flow_removed/voltha:match/voltha:oxm_fields"/>
1038
1039 <!--REPORT -->
1040<axsl:if test="preceding-sibling::voltha:oxm_fields[voltha:oxm_class=current()/voltha:oxm_class]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:oxm_fields[voltha:oxm_class=current()/voltha:oxm_class]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "oxm_class"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M42"/></axsl:template><axsl:template match="text()" priority="-1" mode="M42"/><axsl:template match="@*|node()" priority="-2" mode="M42"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M42"/></axsl:template>
1041
1042<!--PATTERN idm139853992198304-->
1043
1044
1045 <!--RULE -->
1046<axsl:template match="/nc:config/voltha:ofp_flow_stats_request/voltha:match/voltha:oxm_fields" priority="1000" mode="M43"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_flow_stats_request/voltha:match/voltha:oxm_fields"/>
1047
1048 <!--REPORT -->
1049<axsl:if test="preceding-sibling::voltha:oxm_fields[voltha:oxm_class=current()/voltha:oxm_class]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:oxm_fields[voltha:oxm_class=current()/voltha:oxm_class]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "oxm_class"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M43"/></axsl:template><axsl:template match="text()" priority="-1" mode="M43"/><axsl:template match="@*|node()" priority="-2" mode="M43"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M43"/></axsl:template>
1050
1051<!--PATTERN idm139853992192064-->
1052
1053
1054 <!--RULE -->
1055<axsl:template match="/nc:config/voltha:ofp_aggregate_stats_request/voltha:match/voltha:oxm_fields" priority="1000" mode="M44"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_aggregate_stats_request/voltha:match/voltha:oxm_fields"/>
1056
1057 <!--REPORT -->
1058<axsl:if test="preceding-sibling::voltha:oxm_fields[voltha:oxm_class=current()/voltha:oxm_class]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:oxm_fields[voltha:oxm_class=current()/voltha:oxm_class]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "oxm_class"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M44"/></axsl:template><axsl:template match="text()" priority="-1" mode="M44"/><axsl:template match="@*|node()" priority="-2" mode="M44"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M44"/></axsl:template>
1059
1060<!--PATTERN idm139853992179296-->
1061
1062
1063 <!--RULE -->
1064<axsl:template match="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:instructions/voltha:instructions" priority="1000" mode="M45"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:instructions/voltha:instructions"/>
1065
1066 <!--REPORT -->
1067<axsl:if test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:instructions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M45"/></axsl:template><axsl:template match="text()" priority="-1" mode="M45"/><axsl:template match="@*|node()" priority="-2" mode="M45"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M45"/></axsl:template>
1068
1069<!--PATTERN idm139853992178336-->
1070
1071
1072 <!--RULE -->
1073<axsl:template match="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:next_tables/voltha:next_table_ids" priority="1000" mode="M46"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:next_tables/voltha:next_table_ids"/>
1074
1075 <!--REPORT -->
1076<axsl:if test="preceding-sibling::voltha:next_table_ids[voltha:next_table_ids=current()/voltha:next_table_ids]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:next_table_ids[voltha:next_table_ids=current()/voltha:next_table_ids]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "next_table_ids"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M46"/></axsl:template><axsl:template match="text()" priority="-1" mode="M46"/><axsl:template match="@*|node()" priority="-2" mode="M46"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M46"/></axsl:template>
1077
1078<!--PATTERN idm139853992177376-->
1079
1080
1081 <!--RULE -->
1082<axsl:template match="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:actions/voltha:actions" priority="1000" mode="M47"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:actions/voltha:actions"/>
1083
1084 <!--REPORT -->
1085<axsl:if test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:actions[voltha:type=current()/voltha:type]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "type"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M47"/></axsl:template><axsl:template match="text()" priority="-1" mode="M47"/><axsl:template match="@*|node()" priority="-2" mode="M47"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M47"/></axsl:template>
1086
1087<!--PATTERN idm139853992176432-->
1088
1089
1090 <!--RULE -->
1091<axsl:template match="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:oxm/voltha:oxm_ids" priority="1000" mode="M48"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:oxm/voltha:oxm_ids"/>
1092
1093 <!--REPORT -->
1094<axsl:if test="preceding-sibling::voltha:oxm_ids[voltha:oxm_ids=current()/voltha:oxm_ids]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:oxm_ids[voltha:oxm_ids=current()/voltha:oxm_ids]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "oxm_ids"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M48"/></axsl:template><axsl:template match="text()" priority="-1" mode="M48"/><axsl:template match="@*|node()" priority="-2" mode="M48"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M48"/></axsl:template>
1095
1096<!--PATTERN idm139853992175488-->
1097
1098
1099 <!--RULE -->
1100<axsl:template match="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:experimenter/voltha:experimenter_data" priority="1000" mode="M49"><svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/nc:config/voltha:ofp_table_features/voltha:properties/voltha:experimenter/voltha:experimenter_data"/>
1101
1102 <!--REPORT -->
1103<axsl:if test="preceding-sibling::voltha:experimenter_data[voltha:experimenter_data=current()/voltha:experimenter_data]"><svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:schold="http://www.ascc.net/xml/schematron" test="preceding-sibling::voltha:experimenter_data[voltha:experimenter_data=current()/voltha:experimenter_data]"><axsl:attribute name="location"><axsl:apply-templates select="." mode="schematron-get-full-path"/></axsl:attribute><svrl:text>Duplicate key "experimenter_data"</svrl:text></svrl:successful-report></axsl:if><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M49"/></axsl:template><axsl:template match="text()" priority="-1" mode="M49"/><axsl:template match="@*|node()" priority="-2" mode="M49"><axsl:apply-templates select="*|comment()|processing-instruction()" mode="M49"/></axsl:template></axsl:stylesheet>