title: XML validation No matching global declaration available for the validation root
body: <p>I have an XML schema provided by Cisco for an IOS XE router. When running the command 'show ip access-list test | format' in the router's cli, it spits out an XML fragment that <em>should</em> validate against this schema. However it does not. Instead I get the error ": <strong>No matching global declaration available for the validation root"</strong></p>
  
  <p>Schema provided by Cisco extracted by running 'show xsd-format cli show ip access-lists' as recommended here <a href="http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/xmlpi/command/xmlpi-cr-book/xmlpi-cr-p1.html#GUID-33CB3BAB-25B4-4FAD-9741-C7AFB483F701" rel="nofollow noreferrer">http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/xmlpi/command/xmlpi-cr-book/xmlpi-cr-p1.html#GUID-33CB3BAB-25B4-4FAD-9741-C7AFB483F701</a> is shown below:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" &gt;
      &lt;xsd:complexType name="ShowAccesslists_def"&gt;
        &lt;xsd:sequence&gt;
          &lt;xsd:element ref="SpecVersion" minOccurs="0" /&gt;
          &lt;xsd:choice minOccurs="0" maxOccurs="unbounded"&gt;
            &lt;xsd:element ref="Info" /&gt;
            &lt;xsd:element name="Access-List" minOccurs="0" maxOccurs="1"&gt;
              &lt;xsd:complexType&gt;
                &lt;xsd:sequence&gt;
                  &lt;xsd:element name="Type" minOccurs="0" maxOccurs="1" type="xsd:string" /&gt;
                  &lt;xsd:element name="Name" minOccurs="0" maxOccurs="1" type="xsd:string" /&gt;
                  &lt;xsd:element name="DenyFilter" minOccurs="0" maxOccurs="1"&gt;
                    &lt;xsd:complexType&gt;
                      &lt;xsd:sequence&gt;
                        &lt;xsd:element name="Filter" minOccurs="0" maxOccurs="1" type="xsd:string" /&gt;
                      &lt;/xsd:sequence&gt;
                    &lt;/xsd:complexType&gt;
                  &lt;/xsd:element&gt;
                  &lt;xsd:element name="PermitFilter" minOccurs="0" maxOccurs="1"&gt;
                    &lt;xsd:complexType&gt;
                      &lt;xsd:sequence&gt;
                        &lt;xsd:element name="Filter" minOccurs="0" maxOccurs="1" type="xsd:string" /&gt;
                      &lt;/xsd:sequence&gt;
                    &lt;/xsd:complexType&gt;
                  &lt;/xsd:element&gt;
                &lt;/xsd:sequence&gt;
              &lt;/xsd:complexType&gt;
            &lt;/xsd:element&gt;
          &lt;/xsd:choice&gt;
        &lt;/xsd:sequence&gt;
      &lt;/xsd:complexType&gt;
      &lt;xsd:element name="SpecVersion" type="xsd:string" /&gt;
      &lt;xsd:element name="Info" type="xsd:string" /&gt;
      &lt;xsd:element name="ShowAccesslists" type="ShowAccesslists_def" /&gt;
    &lt;/xsd:schema&gt;
  </code></pre>
  
  <p>The XML fragment the router spits out is:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
     &lt;ShowAccesslists xmlns="ODM://built-in//show_access-lists"&gt;
      &lt;Access-List&gt;
        &lt;Type&gt;Extended IP&lt;/Type&gt;
        &lt;Name&gt;test&lt;/Name&gt;
        &lt;PermitFilter&gt;
          &lt;Filter&gt;10 permit ip any any&lt;/Filter&gt;
        &lt;/PermitFilter&gt;
        &lt;PermitFilter&gt;
          &lt;Filter&gt;20 permit tcp 0.0.0.1 255.255.255.0 any&lt;/Filter&gt;
        &lt;/PermitFilter&gt;
        &lt;PermitFilter&gt;
          &lt;Filter&gt;40 permit tcp host 10.22.1.128 10.11.79.0 0.0.0.255 eq domain&lt;/Filter&gt;
        &lt;/PermitFilter&gt;
        &lt;PermitFilter&gt;
          &lt;Filter&gt;50 permit tcp host 10.22.1.128 eq domain 10.11.79.0 0.0.0.255&lt;/Filter&gt;
        &lt;/PermitFilter&gt;
      &lt;/Access-List&gt;
    &lt;/ShowAccesslists&gt;
  </code></pre>
  
  <p>Is the schema broken? How do I get it to validate?</p>