<?xml version="1.0" encoding="UTF-8"?>
<!-- Lenient-Signature11-properties.rnc -->
<!--
#
# Copyright ©[2011] World Wide Web Consortium 
# (Massachusetts Institute of Technology,  
#  European Research Consortium for Informatics and Mathematics, 
#  Keio University). All Rights Reserved.  
# This work is distributed under the W3C® Software License [1] in the
# hope that it will be useful, but WITHOUT ANY WARRANTY; without even
# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. 
# [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
#
-->
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
  <start>
    <ref name="anyForeignElementOrSignature"/>
  </start>
  <define name="anyForeignElementOrSignature">
    <choice>
      <element>
        <anyName>
          <except>
            <nsName ns="http://www.w3.org/2000/09/xmldsig#"/>
            <nsName ns="http://www.w3.org/2009/xmldsig11#"/>
            <nsName ns="http://www.w3.org/2009/xmldsig-properties"/>
          </except>
        </anyName>
        <mixed>
          <zeroOrMore>
            <ref name="security_anyAttribute"/>
          </zeroOrMore>
          <zeroOrMore>
            <ref name="anyForeignElementOrSignature"/>
          </zeroOrMore>
        </mixed>
      </element>
      <ref name="ds_Signature"/>
    </choice>
  </define>
  <define name="ds_anyForeignElement">
    <element>
      <anyName>
        <except>
          <nsName ns="http://www.w3.org/2000/09/xmldsig#"/>
        </except>
      </anyName>
      <mixed>
        <zeroOrMore>
          <ref name="security_anyAttribute"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="security_anyElement"/>
        </zeroOrMore>
      </mixed>
    </element>
  </define>
  <define name="dsig11_anyForeignElement">
    <element>
      <anyName>
        <except>
          <nsName ns="http://www.w3.org/2009/xmldsig11#"/>
        </except>
      </anyName>
      <mixed>
        <zeroOrMore>
          <ref name="security_anyAttribute"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="security_anyElement"/>
        </zeroOrMore>
      </mixed>
    </element>
  </define>
  <include href="security_any.rng"/>
  <include href="xmldsig-core-schema.rng"/>
  <include href="xmldsig11-schema.rng"/>
  <include href="xmldsig-allowAnyForeign.rng"/>
  <include href="xmldsig11-allowAnyForeign.rng"/>
  <include href="xmldsig-properties-schema.rng"/>
</grammar>
