Skip to main content

The most recent patch for this version is 7.0.1.  Learn more  

Version: 7.0

XML Schema

A sample XML-format schema for the configuration of the attribute connector. Copy this content to a new file named table.config.xsd.

table.config.xsd

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.axiomatics.com/table.config" xmlns:tns="http://www.axiomatics.com/table.config"
elementFormDefault="qualified">

<element name="configuration" type="tns:configurationType"/>

<complexType name="configurationType">
<sequence>
<element name="connnection" type="tns:connectionType"/>
<element name="mapping" type="tns:mapping" maxOccurs="unbounded"/>
</sequence>
</complexType>

<complexType name="connectionType">
<choice>
<element name="jdbcConnectionString" type="xs:string">
<annotation>
<documentation>This is the jndi name of a jdbc resource e.g. jdbc/MyConnection. In this case, it is the
container's (or framework) responsibility to define such a resource and make it visible to the PIP connector
for the latter to be able to use it. Typically such connections will be defined in the app server. Their
definition contain the URL, driver, username, and password needed to connect to the JDBC-compliant database.
</documentation>
</annotation>
</element>
<sequence>
<element name="url" type="xs:string">
<annotation>
<documentation>Example of a URL which includes username / password information
jdbc:postgresql://localhost/test?user=fred&amp;password=secret&amp;ssl=true
</documentation>
</annotation>
</element>
<element name="driver" type="xs:string">
<annotation>
<documentation>
In the case of certain PIPs, drivers may be needed to connect to the back-end PIP (e.g. a JDBC PIP). In
the case one needs to specify the classpath of the jdbc driver to be used e.g. org.postgresql.Driver.
</documentation>
</annotation>
</element>
</sequence>
</choice>
</complexType>

<complexType name="keyType">
<sequence>
<element name="xacmlAttribute" type="tns:xacmlAttributeType"/>
<element name="columnName" type="xs:string">
<annotation>
<documentation>
The name of the column in the table to which this attribute is mapped to
</documentation>
</annotation>
</element>
</sequence>
<attribute name="allowMultiple" type="xs:boolean">
<annotation>
<documentation>
allowMultiple is used to indicate whether multiple
values for a given attribute inside an incoming
Context object are allowed.
</documentation>
</annotation>
</attribute>
</complexType>

<complexType name="xacmlAttributeType">
<attribute name="Category" type="xs:string" use="required"/>
<attribute name="AttributeId" type="xs:string" use="required"/>
<attribute name="DataType" type="xs:string" use="required"/>
<attribute name="Issuer" type="xs:string" use="required"/>
</complexType>

<complexType name="mapping">
<sequence>
<element name="xacmlAttribute" type="tns:xacmlAttributeType"/>
<element name="tableName" type="xs:string">
<annotation>
<documentation>
The name of the table from which this mapped attribute is being provided
</documentation>
</annotation>
</element>
<element name="columnName" type="xs:string">
<annotation>
<documentation>
The name of the column in the table to which this attribute is mapped to
</documentation>
</annotation>
</element>
<element name="key" type="tns:keyType" minOccurs="0" maxOccurs="unbounded"/>
<element name="uId" type="string" minOccurs="0"/>
</sequence>
<attribute name="isSingleValued" type="xs:boolean" default="false">
<annotation>
<documentation>
This boolean tell the ARQ to optimize the query using the assumption
that this attribute is single-valued. This only apply to derived attribte,
key attribute is assumed to be single valued by ARQ
</documentation>
</annotation>
</attribute>
</complexType>
</schema>