The GeoXACML 1.0 Framework implements the Open Geospatial Consortium (OGC) standard "Geospatial eXtensible Access Control Markup Language (GeoXACML), Version 1.0". GeoXACML is a geo-specific extension of the Organization for the Advancement of Structured Information Standards (OASIS) standard "eXtensible Access Control Markup Language (XACML), Version 2.0". XACML is a language to encode authorisation decision requests and to encapsulate security rules in policies. GeoXACML extends XACML with spatial data types and spatial authorization decision functions which enables you to define additional spatial constraints for XACML based policies.
Sun Microsystems provides a XACML 2.0 framework which is written in Java. This framework allows you to extend its architecture with own implementations of data types and functions. Therefore the GeoXACML 1.0 Framework is based on it since the GeoXACML 1.0 standard can be realised only by integrating the required functions and data types in the right extension points provided by the architecture of Sun's XACML implementation. Due to the bugs in this architecture the patch SICSCAML from the Swedish Institute of Computer Science (SICS) is used to achieve the full XACML 2.0 functionality.
According to the relying framework the GeoXACML 1.0 Framework does also provide the opportunity to extend or change its architecture as it is explained in this document besides the full GeoXACML functionality. The configuration concept of the GeoXACML framework is realised with the Spring Framework using the Inversion of Control (IoC) Container functionality.
Besides the condition and bag functions, all functions and attributes are implemented with the Java Topology Suite (JTS) as well as the processing of GML encoded geometric values since its geometric funcionality is sufficient to implement the OGC GeoXACML 1.0 standard.