<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" 
		xmlns:md="http://www.medico.com/schemas/record" 
		xmlns:xacml-context="urn:oasis:names:tc:xacml:3.0:context:schema:os" 
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
		PolicyId="urn:oasis:names:tc:xacml:2.0:conformance-test:IIIG006d:policy" 
		RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-overrides" 
		Version="1.0" xsi:schemaLocation="urn:oasis:names:tc:xacml:3.0:policy:schema:os access_control-xacml-2.0-policy-schema-os.xsd">
    <Description>
        Policy for Conformance Test IIIG001d.  Copy of IIG001 using Deprecated XPath functions.
        Purpose - Non-mandatory Functions: Case: xpath-node-count DEPRECATED
        OPTIONAL test - function may or may not be implemented.  See the Response file.
    </Description>
    <PolicyDefaults>
        <XPathVersion>http://www.w3.org/TR/1999/Rec-xpath-19991116</XPathVersion>
    </PolicyDefaults>
    <Target/>

    <Rule Effect="Permit" RuleId="urn:oasis:names:tc:xacml:2.0:conformance-test:IIIG001d:rule">
        <Condition>
 			<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:integer-equal">


                <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:xpath-node-count">

                	<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string" 
                	 	XPathCategory="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" >
                	 		//*
                	 </AttributeValue>
                </Apply>
                <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#integer">18</AttributeValue>
            </Apply>
        </Condition>
    </Rule>
</Policy>
