From 719de88716bd61a1ddcc8290c5d2f42f4873d600 Mon Sep 17 00:00:00 2001
From: clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>
Date: Wed, 29 Oct 2008 09:26:42 +0000
Subject: SAML Assertion 1.0

git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@126 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
---
 .../names/tc/saml/_1_0/assertion/ActionType.java   |  96 +++++
 .../names/tc/saml/_1_0/assertion/AdviceType.java   |  89 +++++
 .../tc/saml/_1_0/assertion/AssertionType.java      | 318 ++++++++++++++++
 .../_1_0/assertion/AttributeDesignatorType.java    |  98 +++++
 .../_1_0/assertion/AttributeStatementType.java     |  78 ++++
 .../tc/saml/_1_0/assertion/AttributeType.java      |  78 ++++
 .../AudienceRestrictionConditionType.java          |  80 ++++
 .../assertion/AuthenticationStatementType.java     | 165 +++++++++
 .../saml/_1_0/assertion/AuthorityBindingType.java  | 123 +++++++
 .../AuthorizationDecisionStatementType.java        | 163 ++++++++
 .../saml/_1_0/assertion/ConditionAbstractType.java |  41 +++
 .../tc/saml/_1_0/assertion/ConditionsType.java     | 141 +++++++
 .../names/tc/saml/_1_0/assertion/DecisionType.java |  61 +++
 .../names/tc/saml/_1_0/assertion/EvidenceType.java |  82 +++++
 .../tc/saml/_1_0/assertion/NameIdentifierType.java | 123 +++++++
 .../tc/saml/_1_0/assertion/ObjectFactory.java      | 410 +++++++++++++++++++++
 .../saml/_1_0/assertion/StatementAbstractType.java |  41 +++
 .../_1_0/assertion/SubjectConfirmationType.java    | 135 +++++++
 .../saml/_1_0/assertion/SubjectLocalityType.java   |  92 +++++
 .../assertion/SubjectStatementAbstractType.java    |  77 ++++
 .../names/tc/saml/_1_0/assertion/SubjectType.java  |  96 +++++
 .../names/tc/saml/_1_0/assertion/package-info.java |   9 +
 22 files changed, 2596 insertions(+)
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ActionType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AdviceType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AssertionType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeDesignatorType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeStatementType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AudienceRestrictionConditionType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthenticationStatementType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorityBindingType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorizationDecisionStatementType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionAbstractType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionsType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/DecisionType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/EvidenceType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/NameIdentifierType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ObjectFactory.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/StatementAbstractType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectConfirmationType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectLocalityType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectStatementAbstractType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectType.java
 create mode 100644 utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/package-info.java

(limited to 'utils')

diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ActionType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ActionType.java
new file mode 100644
index 00000000..144b4e17
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ActionType.java
@@ -0,0 +1,96 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * <p>Java class for ActionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ActionType">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="Namespace" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ActionType", propOrder = {
+    "value"
+})
+public class ActionType {
+
+    @XmlValue
+    protected String value;
+    @XmlAttribute(name = "Namespace")
+    @XmlSchemaType(name = "anyURI")
+    protected String namespace;
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Gets the value of the namespace property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getNamespace() {
+        return namespace;
+    }
+
+    /**
+     * Sets the value of the namespace property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setNamespace(String value) {
+        this.namespace = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AdviceType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AdviceType.java
new file mode 100644
index 00000000..e5342409
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AdviceType.java
@@ -0,0 +1,89 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlType;
+import org.w3c.dom.Element;
+
+
+/**
+ * <p>Java class for AdviceType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AdviceType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AssertionIDReference"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Assertion"/>
+ *         &lt;any/>
+ *       &lt;/choice>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AdviceType", propOrder = {
+    "assertionIDReferenceOrAssertionOrAny"
+})
+public class AdviceType {
+
+    @XmlElementRefs({
+        @XmlElementRef(name = "Assertion", namespace = "urn:oasis:names:tc:SAML:1.0:assertion", type = JAXBElement.class),
+        @XmlElementRef(name = "AssertionIDReference", namespace = "urn:oasis:names:tc:SAML:1.0:assertion", type = JAXBElement.class)
+    })
+    @XmlAnyElement(lax = true)
+    protected List<Object> assertionIDReferenceOrAssertionOrAny;
+
+    /**
+     * Gets the value of the assertionIDReferenceOrAssertionOrAny property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the assertionIDReferenceOrAssertionOrAny property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAssertionIDReferenceOrAssertionOrAny().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Object }
+     * {@link JAXBElement }{@code <}{@link String }{@code >}
+     * {@link JAXBElement }{@code <}{@link AssertionType }{@code >}
+     * {@link Element }
+     * 
+     * 
+     */
+    public List<Object> getAssertionIDReferenceOrAssertionOrAny() {
+        if (assertionIDReferenceOrAssertionOrAny == null) {
+            assertionIDReferenceOrAssertionOrAny = new ArrayList<Object>();
+        }
+        return this.assertionIDReferenceOrAssertionOrAny;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AssertionType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AssertionType.java
new file mode 100644
index 00000000..2157dd67
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AssertionType.java
@@ -0,0 +1,318 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+import org.w3._2000._09.xmldsig_.SignatureType;
+
+
+/**
+ * <p>Java class for AssertionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AssertionType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Conditions" minOccurs="0"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Advice" minOccurs="0"/>
+ *         &lt;choice maxOccurs="unbounded">
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Statement"/>
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectStatement"/>
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AuthenticationStatement"/>
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AuthorizationDecisionStatement"/>
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AttributeStatement"/>
+ *         &lt;/choice>
+ *         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Signature" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="MajorVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *       &lt;attribute name="MinorVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *       &lt;attribute name="AssertionID" use="required" type="{urn:oasis:names:tc:SAML:1.0:assertion}IDType" />
+ *       &lt;attribute name="Issuer" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="IssueInstant" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AssertionType", propOrder = {
+    "conditions",
+    "advice",
+    "statementOrSubjectStatementOrAuthenticationStatement",
+    "signature"
+})
+public class AssertionType {
+
+    @XmlElement(name = "Conditions")
+    protected ConditionsType conditions;
+    @XmlElement(name = "Advice")
+    protected AdviceType advice;
+    @XmlElements({
+        @XmlElement(name = "Statement"),
+        @XmlElement(name = "AuthorizationDecisionStatement", type = AuthorizationDecisionStatementType.class),
+        @XmlElement(name = "AuthenticationStatement", type = AuthenticationStatementType.class),
+        @XmlElement(name = "SubjectStatement", type = SubjectStatementAbstractType.class),
+        @XmlElement(name = "AttributeStatement", type = AttributeStatementType.class)
+    })
+    protected List<StatementAbstractType> statementOrSubjectStatementOrAuthenticationStatement;
+    @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+    protected SignatureType signature;
+    @XmlAttribute(name = "MajorVersion", required = true)
+    protected BigInteger majorVersion;
+    @XmlAttribute(name = "MinorVersion", required = true)
+    protected BigInteger minorVersion;
+    @XmlAttribute(name = "AssertionID", required = true)
+    protected String assertionID;
+    @XmlAttribute(name = "Issuer", required = true)
+    protected String issuer;
+    @XmlAttribute(name = "IssueInstant", required = true)
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar issueInstant;
+
+    /**
+     * Gets the value of the conditions property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ConditionsType }
+     *     
+     */
+    public ConditionsType getConditions() {
+        return conditions;
+    }
+
+    /**
+     * Sets the value of the conditions property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ConditionsType }
+     *     
+     */
+    public void setConditions(ConditionsType value) {
+        this.conditions = value;
+    }
+
+    /**
+     * Gets the value of the advice property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link AdviceType }
+     *     
+     */
+    public AdviceType getAdvice() {
+        return advice;
+    }
+
+    /**
+     * Sets the value of the advice property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link AdviceType }
+     *     
+     */
+    public void setAdvice(AdviceType value) {
+        this.advice = value;
+    }
+
+    /**
+     * Gets the value of the statementOrSubjectStatementOrAuthenticationStatement property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the statementOrSubjectStatementOrAuthenticationStatement property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getStatementOrSubjectStatementOrAuthenticationStatement().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link StatementAbstractType }
+     * {@link AuthorizationDecisionStatementType }
+     * {@link AuthenticationStatementType }
+     * {@link SubjectStatementAbstractType }
+     * {@link AttributeStatementType }
+     * 
+     * 
+     */
+    public List<StatementAbstractType> getStatementOrSubjectStatementOrAuthenticationStatement() {
+        if (statementOrSubjectStatementOrAuthenticationStatement == null) {
+            statementOrSubjectStatementOrAuthenticationStatement = new ArrayList<StatementAbstractType>();
+        }
+        return this.statementOrSubjectStatementOrAuthenticationStatement;
+    }
+
+    /**
+     * Gets the value of the signature property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link SignatureType }
+     *     
+     */
+    public SignatureType getSignature() {
+        return signature;
+    }
+
+    /**
+     * Sets the value of the signature property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link SignatureType }
+     *     
+     */
+    public void setSignature(SignatureType value) {
+        this.signature = value;
+    }
+
+    /**
+     * Gets the value of the majorVersion property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getMajorVersion() {
+        return majorVersion;
+    }
+
+    /**
+     * Sets the value of the majorVersion property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setMajorVersion(BigInteger value) {
+        this.majorVersion = value;
+    }
+
+    /**
+     * Gets the value of the minorVersion property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getMinorVersion() {
+        return minorVersion;
+    }
+
+    /**
+     * Sets the value of the minorVersion property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setMinorVersion(BigInteger value) {
+        this.minorVersion = value;
+    }
+
+    /**
+     * Gets the value of the assertionID property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAssertionID() {
+        return assertionID;
+    }
+
+    /**
+     * Sets the value of the assertionID property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAssertionID(String value) {
+        this.assertionID = value;
+    }
+
+    /**
+     * Gets the value of the issuer property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getIssuer() {
+        return issuer;
+    }
+
+    /**
+     * Sets the value of the issuer property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setIssuer(String value) {
+        this.issuer = value;
+    }
+
+    /**
+     * Gets the value of the issueInstant property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getIssueInstant() {
+        return issueInstant;
+    }
+
+    /**
+     * Sets the value of the issueInstant property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setIssueInstant(XMLGregorianCalendar value) {
+        this.issueInstant = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeDesignatorType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeDesignatorType.java
new file mode 100644
index 00000000..f96815d8
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeDesignatorType.java
@@ -0,0 +1,98 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AttributeDesignatorType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AttributeDesignatorType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="AttributeName" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="AttributeNamespace" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AttributeDesignatorType")
+@XmlSeeAlso({
+    AttributeType.class
+})
+public class AttributeDesignatorType {
+
+    @XmlAttribute(name = "AttributeName", required = true)
+    protected String attributeName;
+    @XmlAttribute(name = "AttributeNamespace", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String attributeNamespace;
+
+    /**
+     * Gets the value of the attributeName property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAttributeName() {
+        return attributeName;
+    }
+
+    /**
+     * Sets the value of the attributeName property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAttributeName(String value) {
+        this.attributeName = value;
+    }
+
+    /**
+     * Gets the value of the attributeNamespace property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAttributeNamespace() {
+        return attributeNamespace;
+    }
+
+    /**
+     * Sets the value of the attributeNamespace property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAttributeNamespace(String value) {
+        this.attributeNamespace = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeStatementType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeStatementType.java
new file mode 100644
index 00000000..71faeffb
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeStatementType.java
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AttributeStatementType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AttributeStatementType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectStatementAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Attribute" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AttributeStatementType", propOrder = {
+    "attribute"
+})
+public class AttributeStatementType
+    extends SubjectStatementAbstractType
+{
+
+    @XmlElement(name = "Attribute", required = true)
+    protected List<AttributeType> attribute;
+
+    /**
+     * Gets the value of the attribute property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the attribute property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAttribute().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link AttributeType }
+     * 
+     * 
+     */
+    public List<AttributeType> getAttribute() {
+        if (attribute == null) {
+            attribute = new ArrayList<AttributeType>();
+        }
+        return this.attribute;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeType.java
new file mode 100644
index 00000000..68e41ab4
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AttributeType.java
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AttributeType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AttributeType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{urn:oasis:names:tc:SAML:1.0:assertion}AttributeDesignatorType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AttributeValue" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AttributeType", propOrder = {
+    "attributeValue"
+})
+public class AttributeType
+    extends AttributeDesignatorType
+{
+
+    @XmlElement(name = "AttributeValue", required = true)
+    protected List<Object> attributeValue;
+
+    /**
+     * Gets the value of the attributeValue property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the attributeValue property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAttributeValue().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Object }
+     * 
+     * 
+     */
+    public List<Object> getAttributeValue() {
+        if (attributeValue == null) {
+            attributeValue = new ArrayList<Object>();
+        }
+        return this.attributeValue;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AudienceRestrictionConditionType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AudienceRestrictionConditionType.java
new file mode 100644
index 00000000..aa95892a
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AudienceRestrictionConditionType.java
@@ -0,0 +1,80 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AudienceRestrictionConditionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AudienceRestrictionConditionType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{urn:oasis:names:tc:SAML:1.0:assertion}ConditionAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Audience" maxOccurs="unbounded"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AudienceRestrictionConditionType", propOrder = {
+    "audience"
+})
+public class AudienceRestrictionConditionType
+    extends ConditionAbstractType
+{
+
+    @XmlElement(name = "Audience", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected List<String> audience;
+
+    /**
+     * Gets the value of the audience property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the audience property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAudience().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getAudience() {
+        if (audience == null) {
+            audience = new ArrayList<String>();
+        }
+        return this.audience;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthenticationStatementType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthenticationStatementType.java
new file mode 100644
index 00000000..5f22ea2d
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthenticationStatementType.java
@@ -0,0 +1,165 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for AuthenticationStatementType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AuthenticationStatementType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectStatementAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectLocality" minOccurs="0"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AuthorityBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="AuthenticationMethod" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="AuthenticationInstant" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AuthenticationStatementType", propOrder = {
+    "subjectLocality",
+    "authorityBinding"
+})
+public class AuthenticationStatementType
+    extends SubjectStatementAbstractType
+{
+
+    @XmlElement(name = "SubjectLocality")
+    protected SubjectLocalityType subjectLocality;
+    @XmlElement(name = "AuthorityBinding")
+    protected List<AuthorityBindingType> authorityBinding;
+    @XmlAttribute(name = "AuthenticationMethod", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String authenticationMethod;
+    @XmlAttribute(name = "AuthenticationInstant", required = true)
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar authenticationInstant;
+
+    /**
+     * Gets the value of the subjectLocality property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link SubjectLocalityType }
+     *     
+     */
+    public SubjectLocalityType getSubjectLocality() {
+        return subjectLocality;
+    }
+
+    /**
+     * Sets the value of the subjectLocality property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link SubjectLocalityType }
+     *     
+     */
+    public void setSubjectLocality(SubjectLocalityType value) {
+        this.subjectLocality = value;
+    }
+
+    /**
+     * Gets the value of the authorityBinding property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the authorityBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAuthorityBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link AuthorityBindingType }
+     * 
+     * 
+     */
+    public List<AuthorityBindingType> getAuthorityBinding() {
+        if (authorityBinding == null) {
+            authorityBinding = new ArrayList<AuthorityBindingType>();
+        }
+        return this.authorityBinding;
+    }
+
+    /**
+     * Gets the value of the authenticationMethod property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAuthenticationMethod() {
+        return authenticationMethod;
+    }
+
+    /**
+     * Sets the value of the authenticationMethod property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAuthenticationMethod(String value) {
+        this.authenticationMethod = value;
+    }
+
+    /**
+     * Gets the value of the authenticationInstant property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getAuthenticationInstant() {
+        return authenticationInstant;
+    }
+
+    /**
+     * Sets the value of the authenticationInstant property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setAuthenticationInstant(XMLGregorianCalendar value) {
+        this.authenticationInstant = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorityBindingType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorityBindingType.java
new file mode 100644
index 00000000..32ccb3f6
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorityBindingType.java
@@ -0,0 +1,123 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.namespace.QName;
+
+
+/**
+ * <p>Java class for AuthorityBindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AuthorityBindingType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="AuthorityKind" use="required" type="{http://www.w3.org/2001/XMLSchema}QName" />
+ *       &lt;attribute name="Location" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="Binding" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AuthorityBindingType")
+public class AuthorityBindingType {
+
+    @XmlAttribute(name = "AuthorityKind", required = true)
+    protected QName authorityKind;
+    @XmlAttribute(name = "Location", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String location;
+    @XmlAttribute(name = "Binding", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String binding;
+
+    /**
+     * Gets the value of the authorityKind property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link QName }
+     *     
+     */
+    public QName getAuthorityKind() {
+        return authorityKind;
+    }
+
+    /**
+     * Sets the value of the authorityKind property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link QName }
+     *     
+     */
+    public void setAuthorityKind(QName value) {
+        this.authorityKind = value;
+    }
+
+    /**
+     * Gets the value of the location property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLocation() {
+        return location;
+    }
+
+    /**
+     * Sets the value of the location property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLocation(String value) {
+        this.location = value;
+    }
+
+    /**
+     * Gets the value of the binding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getBinding() {
+        return binding;
+    }
+
+    /**
+     * Sets the value of the binding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setBinding(String value) {
+        this.binding = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorizationDecisionStatementType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorizationDecisionStatementType.java
new file mode 100644
index 00000000..5678a373
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/AuthorizationDecisionStatementType.java
@@ -0,0 +1,163 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AuthorizationDecisionStatementType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AuthorizationDecisionStatementType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectStatementAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Action" maxOccurs="unbounded"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Evidence" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="Resource" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="Decision" use="required" type="{urn:oasis:names:tc:SAML:1.0:assertion}DecisionType" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AuthorizationDecisionStatementType", propOrder = {
+    "action",
+    "evidence"
+})
+public class AuthorizationDecisionStatementType
+    extends SubjectStatementAbstractType
+{
+
+    @XmlElement(name = "Action", required = true)
+    protected List<ActionType> action;
+    @XmlElement(name = "Evidence")
+    protected EvidenceType evidence;
+    @XmlAttribute(name = "Resource", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String resource;
+    @XmlAttribute(name = "Decision", required = true)
+    protected DecisionType decision;
+
+    /**
+     * Gets the value of the action property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the action property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAction().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link ActionType }
+     * 
+     * 
+     */
+    public List<ActionType> getAction() {
+        if (action == null) {
+            action = new ArrayList<ActionType>();
+        }
+        return this.action;
+    }
+
+    /**
+     * Gets the value of the evidence property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link EvidenceType }
+     *     
+     */
+    public EvidenceType getEvidence() {
+        return evidence;
+    }
+
+    /**
+     * Sets the value of the evidence property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link EvidenceType }
+     *     
+     */
+    public void setEvidence(EvidenceType value) {
+        this.evidence = value;
+    }
+
+    /**
+     * Gets the value of the resource property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getResource() {
+        return resource;
+    }
+
+    /**
+     * Sets the value of the resource property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setResource(String value) {
+        this.resource = value;
+    }
+
+    /**
+     * Gets the value of the decision property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link DecisionType }
+     *     
+     */
+    public DecisionType getDecision() {
+        return decision;
+    }
+
+    /**
+     * Sets the value of the decision property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link DecisionType }
+     *     
+     */
+    public void setDecision(DecisionType value) {
+        this.decision = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionAbstractType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionAbstractType.java
new file mode 100644
index 00000000..6952e51f
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionAbstractType.java
@@ -0,0 +1,41 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ConditionAbstractType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ConditionAbstractType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ConditionAbstractType")
+@XmlSeeAlso({
+    AudienceRestrictionConditionType.class
+})
+public abstract class ConditionAbstractType {
+
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionsType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionsType.java
new file mode 100644
index 00000000..8160779f
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ConditionsType.java
@@ -0,0 +1,141 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for ConditionsType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ConditionsType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AudienceRestrictionCondition"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Condition"/>
+ *       &lt;/choice>
+ *       &lt;attribute name="NotBefore" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="NotOnOrAfter" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ConditionsType", propOrder = {
+    "audienceRestrictionConditionOrCondition"
+})
+public class ConditionsType {
+
+    @XmlElements({
+        @XmlElement(name = "Condition"),
+        @XmlElement(name = "AudienceRestrictionCondition", type = AudienceRestrictionConditionType.class)
+    })
+    protected List<ConditionAbstractType> audienceRestrictionConditionOrCondition;
+    @XmlAttribute(name = "NotBefore")
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar notBefore;
+    @XmlAttribute(name = "NotOnOrAfter")
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar notOnOrAfter;
+
+    /**
+     * Gets the value of the audienceRestrictionConditionOrCondition property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the audienceRestrictionConditionOrCondition property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAudienceRestrictionConditionOrCondition().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link ConditionAbstractType }
+     * {@link AudienceRestrictionConditionType }
+     * 
+     * 
+     */
+    public List<ConditionAbstractType> getAudienceRestrictionConditionOrCondition() {
+        if (audienceRestrictionConditionOrCondition == null) {
+            audienceRestrictionConditionOrCondition = new ArrayList<ConditionAbstractType>();
+        }
+        return this.audienceRestrictionConditionOrCondition;
+    }
+
+    /**
+     * Gets the value of the notBefore property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getNotBefore() {
+        return notBefore;
+    }
+
+    /**
+     * Sets the value of the notBefore property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setNotBefore(XMLGregorianCalendar value) {
+        this.notBefore = value;
+    }
+
+    /**
+     * Gets the value of the notOnOrAfter property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getNotOnOrAfter() {
+        return notOnOrAfter;
+    }
+
+    /**
+     * Sets the value of the notOnOrAfter property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setNotOnOrAfter(XMLGregorianCalendar value) {
+        this.notOnOrAfter = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/DecisionType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/DecisionType.java
new file mode 100644
index 00000000..4fa36320
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/DecisionType.java
@@ -0,0 +1,61 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for DecisionType.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="DecisionType">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="Permit"/>
+ *     &lt;enumeration value="Deny"/>
+ *     &lt;enumeration value="Indeterminate"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "DecisionType")
+@XmlEnum
+public enum DecisionType {
+
+    @XmlEnumValue("Permit")
+    PERMIT("Permit"),
+    @XmlEnumValue("Deny")
+    DENY("Deny"),
+    @XmlEnumValue("Indeterminate")
+    INDETERMINATE("Indeterminate");
+    private final String value;
+
+    DecisionType(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static DecisionType fromValue(String v) {
+        for (DecisionType c: DecisionType.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/EvidenceType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/EvidenceType.java
new file mode 100644
index 00000000..a2fc049c
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/EvidenceType.java
@@ -0,0 +1,82 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for EvidenceType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="EvidenceType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice maxOccurs="unbounded">
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AssertionIDReference"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Assertion"/>
+ *       &lt;/choice>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EvidenceType", propOrder = {
+    "assertionIDReferenceOrAssertion"
+})
+public class EvidenceType {
+
+    @XmlElements({
+        @XmlElement(name = "AssertionIDReference", type = String.class),
+        @XmlElement(name = "Assertion", type = AssertionType.class)
+    })
+    protected List<Object> assertionIDReferenceOrAssertion;
+
+    /**
+     * Gets the value of the assertionIDReferenceOrAssertion property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the assertionIDReferenceOrAssertion property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAssertionIDReferenceOrAssertion().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * {@link AssertionType }
+     * 
+     * 
+     */
+    public List<Object> getAssertionIDReferenceOrAssertion() {
+        if (assertionIDReferenceOrAssertion == null) {
+            assertionIDReferenceOrAssertion = new ArrayList<Object>();
+        }
+        return this.assertionIDReferenceOrAssertion;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/NameIdentifierType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/NameIdentifierType.java
new file mode 100644
index 00000000..1970e6f8
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/NameIdentifierType.java
@@ -0,0 +1,123 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * <p>Java class for NameIdentifierType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="NameIdentifierType">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="NameQualifier" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="Format" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NameIdentifierType", propOrder = {
+    "value"
+})
+public class NameIdentifierType {
+
+    @XmlValue
+    protected String value;
+    @XmlAttribute(name = "NameQualifier")
+    protected String nameQualifier;
+    @XmlAttribute(name = "Format")
+    @XmlSchemaType(name = "anyURI")
+    protected String format;
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Gets the value of the nameQualifier property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getNameQualifier() {
+        return nameQualifier;
+    }
+
+    /**
+     * Sets the value of the nameQualifier property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setNameQualifier(String value) {
+        this.nameQualifier = value;
+    }
+
+    /**
+     * Gets the value of the format property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getFormat() {
+        return format;
+    }
+
+    /**
+     * Sets the value of the format property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setFormat(String value) {
+        this.format = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ObjectFactory.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ObjectFactory.java
new file mode 100644
index 00000000..fe0982ef
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/ObjectFactory.java
@@ -0,0 +1,410 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the oasis.names.tc.saml._1_0.assertion package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _Assertion_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Assertion");
+    private final static QName _AuthorityBinding_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AuthorityBinding");
+    private final static QName _Evidence_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Evidence");
+    private final static QName _NameIdentifier_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "NameIdentifier");
+    private final static QName _AudienceRestrictionCondition_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AudienceRestrictionCondition");
+    private final static QName _AuthorizationDecisionStatement_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AuthorizationDecisionStatement");
+    private final static QName _AssertionIDReference_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AssertionIDReference");
+    private final static QName _AttributeDesignator_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AttributeDesignator");
+    private final static QName _Subject_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Subject");
+    private final static QName _SubjectLocality_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "SubjectLocality");
+    private final static QName _Advice_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Advice");
+    private final static QName _Action_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Action");
+    private final static QName _Audience_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Audience");
+    private final static QName _Attribute_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Attribute");
+    private final static QName _AuthenticationStatement_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AuthenticationStatement");
+    private final static QName _AttributeStatement_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AttributeStatement");
+    private final static QName _ConfirmationMethod_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "ConfirmationMethod");
+    private final static QName _Condition_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Condition");
+    private final static QName _Conditions_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Conditions");
+    private final static QName _SubjectConfirmationData_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "SubjectConfirmationData");
+    private final static QName _SubjectStatement_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "SubjectStatement");
+    private final static QName _Statement_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "Statement");
+    private final static QName _SubjectConfirmation_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "SubjectConfirmation");
+    private final static QName _AttributeValue_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:assertion", "AttributeValue");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: oasis.names.tc.saml._1_0.assertion
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link AuthorityBindingType }
+     * 
+     */
+    public AuthorityBindingType createAuthorityBindingType() {
+        return new AuthorityBindingType();
+    }
+
+    /**
+     * Create an instance of {@link AttributeDesignatorType }
+     * 
+     */
+    public AttributeDesignatorType createAttributeDesignatorType() {
+        return new AttributeDesignatorType();
+    }
+
+    /**
+     * Create an instance of {@link AuthenticationStatementType }
+     * 
+     */
+    public AuthenticationStatementType createAuthenticationStatementType() {
+        return new AuthenticationStatementType();
+    }
+
+    /**
+     * Create an instance of {@link EvidenceType }
+     * 
+     */
+    public EvidenceType createEvidenceType() {
+        return new EvidenceType();
+    }
+
+    /**
+     * Create an instance of {@link SubjectConfirmationType }
+     * 
+     */
+    public SubjectConfirmationType createSubjectConfirmationType() {
+        return new SubjectConfirmationType();
+    }
+
+    /**
+     * Create an instance of {@link AudienceRestrictionConditionType }
+     * 
+     */
+    public AudienceRestrictionConditionType createAudienceRestrictionConditionType() {
+        return new AudienceRestrictionConditionType();
+    }
+
+    /**
+     * Create an instance of {@link SubjectLocalityType }
+     * 
+     */
+    public SubjectLocalityType createSubjectLocalityType() {
+        return new SubjectLocalityType();
+    }
+
+    /**
+     * Create an instance of {@link AssertionType }
+     * 
+     */
+    public AssertionType createAssertionType() {
+        return new AssertionType();
+    }
+
+    /**
+     * Create an instance of {@link ActionType }
+     * 
+     */
+    public ActionType createActionType() {
+        return new ActionType();
+    }
+
+    /**
+     * Create an instance of {@link AttributeStatementType }
+     * 
+     */
+    public AttributeStatementType createAttributeStatementType() {
+        return new AttributeStatementType();
+    }
+
+    /**
+     * Create an instance of {@link NameIdentifierType }
+     * 
+     */
+    public NameIdentifierType createNameIdentifierType() {
+        return new NameIdentifierType();
+    }
+
+    /**
+     * Create an instance of {@link AuthorizationDecisionStatementType }
+     * 
+     */
+    public AuthorizationDecisionStatementType createAuthorizationDecisionStatementType() {
+        return new AuthorizationDecisionStatementType();
+    }
+
+    /**
+     * Create an instance of {@link AttributeType }
+     * 
+     */
+    public AttributeType createAttributeType() {
+        return new AttributeType();
+    }
+
+    /**
+     * Create an instance of {@link SubjectType }
+     * 
+     */
+    public SubjectType createSubjectType() {
+        return new SubjectType();
+    }
+
+    /**
+     * Create an instance of {@link AdviceType }
+     * 
+     */
+    public AdviceType createAdviceType() {
+        return new AdviceType();
+    }
+
+    /**
+     * Create an instance of {@link ConditionsType }
+     * 
+     */
+    public ConditionsType createConditionsType() {
+        return new ConditionsType();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AssertionType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Assertion")
+    public JAXBElement<AssertionType> createAssertion(AssertionType value) {
+        return new JAXBElement<AssertionType>(_Assertion_QNAME, AssertionType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AuthorityBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AuthorityBinding")
+    public JAXBElement<AuthorityBindingType> createAuthorityBinding(AuthorityBindingType value) {
+        return new JAXBElement<AuthorityBindingType>(_AuthorityBinding_QNAME, AuthorityBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link EvidenceType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Evidence")
+    public JAXBElement<EvidenceType> createEvidence(EvidenceType value) {
+        return new JAXBElement<EvidenceType>(_Evidence_QNAME, EvidenceType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link NameIdentifierType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "NameIdentifier")
+    public JAXBElement<NameIdentifierType> createNameIdentifier(NameIdentifierType value) {
+        return new JAXBElement<NameIdentifierType>(_NameIdentifier_QNAME, NameIdentifierType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AudienceRestrictionConditionType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AudienceRestrictionCondition")
+    public JAXBElement<AudienceRestrictionConditionType> createAudienceRestrictionCondition(AudienceRestrictionConditionType value) {
+        return new JAXBElement<AudienceRestrictionConditionType>(_AudienceRestrictionCondition_QNAME, AudienceRestrictionConditionType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AuthorizationDecisionStatementType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AuthorizationDecisionStatement")
+    public JAXBElement<AuthorizationDecisionStatementType> createAuthorizationDecisionStatement(AuthorizationDecisionStatementType value) {
+        return new JAXBElement<AuthorizationDecisionStatementType>(_AuthorizationDecisionStatement_QNAME, AuthorizationDecisionStatementType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AssertionIDReference")
+    public JAXBElement<String> createAssertionIDReference(String value) {
+        return new JAXBElement<String>(_AssertionIDReference_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeDesignatorType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AttributeDesignator")
+    public JAXBElement<AttributeDesignatorType> createAttributeDesignator(AttributeDesignatorType value) {
+        return new JAXBElement<AttributeDesignatorType>(_AttributeDesignator_QNAME, AttributeDesignatorType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SubjectType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Subject")
+    public JAXBElement<SubjectType> createSubject(SubjectType value) {
+        return new JAXBElement<SubjectType>(_Subject_QNAME, SubjectType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SubjectLocalityType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "SubjectLocality")
+    public JAXBElement<SubjectLocalityType> createSubjectLocality(SubjectLocalityType value) {
+        return new JAXBElement<SubjectLocalityType>(_SubjectLocality_QNAME, SubjectLocalityType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AdviceType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Advice")
+    public JAXBElement<AdviceType> createAdvice(AdviceType value) {
+        return new JAXBElement<AdviceType>(_Advice_QNAME, AdviceType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ActionType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Action")
+    public JAXBElement<ActionType> createAction(ActionType value) {
+        return new JAXBElement<ActionType>(_Action_QNAME, ActionType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Audience")
+    public JAXBElement<String> createAudience(String value) {
+        return new JAXBElement<String>(_Audience_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Attribute")
+    public JAXBElement<AttributeType> createAttribute(AttributeType value) {
+        return new JAXBElement<AttributeType>(_Attribute_QNAME, AttributeType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AuthenticationStatementType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AuthenticationStatement")
+    public JAXBElement<AuthenticationStatementType> createAuthenticationStatement(AuthenticationStatementType value) {
+        return new JAXBElement<AuthenticationStatementType>(_AuthenticationStatement_QNAME, AuthenticationStatementType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AttributeStatementType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AttributeStatement")
+    public JAXBElement<AttributeStatementType> createAttributeStatement(AttributeStatementType value) {
+        return new JAXBElement<AttributeStatementType>(_AttributeStatement_QNAME, AttributeStatementType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "ConfirmationMethod")
+    public JAXBElement<String> createConfirmationMethod(String value) {
+        return new JAXBElement<String>(_ConfirmationMethod_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ConditionAbstractType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Condition")
+    public JAXBElement<ConditionAbstractType> createCondition(ConditionAbstractType value) {
+        return new JAXBElement<ConditionAbstractType>(_Condition_QNAME, ConditionAbstractType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ConditionsType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Conditions")
+    public JAXBElement<ConditionsType> createConditions(ConditionsType value) {
+        return new JAXBElement<ConditionsType>(_Conditions_QNAME, ConditionsType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "SubjectConfirmationData")
+    public JAXBElement<Object> createSubjectConfirmationData(Object value) {
+        return new JAXBElement<Object>(_SubjectConfirmationData_QNAME, Object.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SubjectStatementAbstractType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "SubjectStatement")
+    public JAXBElement<SubjectStatementAbstractType> createSubjectStatement(SubjectStatementAbstractType value) {
+        return new JAXBElement<SubjectStatementAbstractType>(_SubjectStatement_QNAME, SubjectStatementAbstractType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link StatementAbstractType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "Statement")
+    public JAXBElement<StatementAbstractType> createStatement(StatementAbstractType value) {
+        return new JAXBElement<StatementAbstractType>(_Statement_QNAME, StatementAbstractType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SubjectConfirmationType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "SubjectConfirmation")
+    public JAXBElement<SubjectConfirmationType> createSubjectConfirmation(SubjectConfirmationType value) {
+        return new JAXBElement<SubjectConfirmationType>(_SubjectConfirmation_QNAME, SubjectConfirmationType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link Object }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", name = "AttributeValue")
+    public JAXBElement<Object> createAttributeValue(Object value) {
+        return new JAXBElement<Object>(_AttributeValue_QNAME, Object.class, null, value);
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/StatementAbstractType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/StatementAbstractType.java
new file mode 100644
index 00000000..efe8faae
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/StatementAbstractType.java
@@ -0,0 +1,41 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatementAbstractType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="StatementAbstractType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StatementAbstractType")
+@XmlSeeAlso({
+    SubjectStatementAbstractType.class
+})
+public abstract class StatementAbstractType {
+
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectConfirmationType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectConfirmationType.java
new file mode 100644
index 00000000..094e8840
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectConfirmationType.java
@@ -0,0 +1,135 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.w3._2000._09.xmldsig_.KeyInfoType;
+
+
+/**
+ * <p>Java class for SubjectConfirmationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="SubjectConfirmationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}ConfirmationMethod" maxOccurs="unbounded"/>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectConfirmationData" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubjectConfirmationType", propOrder = {
+    "confirmationMethod",
+    "subjectConfirmationData",
+    "keyInfo"
+})
+public class SubjectConfirmationType {
+
+    @XmlElement(name = "ConfirmationMethod", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected List<String> confirmationMethod;
+    @XmlElement(name = "SubjectConfirmationData")
+    protected Object subjectConfirmationData;
+    @XmlElement(name = "KeyInfo", namespace = "http://www.w3.org/2000/09/xmldsig#")
+    protected KeyInfoType keyInfo;
+
+    /**
+     * Gets the value of the confirmationMethod property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the confirmationMethod property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getConfirmationMethod().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getConfirmationMethod() {
+        if (confirmationMethod == null) {
+            confirmationMethod = new ArrayList<String>();
+        }
+        return this.confirmationMethod;
+    }
+
+    /**
+     * Gets the value of the subjectConfirmationData property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Object }
+     *     
+     */
+    public Object getSubjectConfirmationData() {
+        return subjectConfirmationData;
+    }
+
+    /**
+     * Sets the value of the subjectConfirmationData property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Object }
+     *     
+     */
+    public void setSubjectConfirmationData(Object value) {
+        this.subjectConfirmationData = value;
+    }
+
+    /**
+     * Gets the value of the keyInfo property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link KeyInfoType }
+     *     
+     */
+    public KeyInfoType getKeyInfo() {
+        return keyInfo;
+    }
+
+    /**
+     * Sets the value of the keyInfo property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link KeyInfoType }
+     *     
+     */
+    public void setKeyInfo(KeyInfoType value) {
+        this.keyInfo = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectLocalityType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectLocalityType.java
new file mode 100644
index 00000000..8c59d4ae
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectLocalityType.java
@@ -0,0 +1,92 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SubjectLocalityType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="SubjectLocalityType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="IPAddress" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="DNSAddress" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubjectLocalityType")
+public class SubjectLocalityType {
+
+    @XmlAttribute(name = "IPAddress")
+    protected String ipAddress;
+    @XmlAttribute(name = "DNSAddress")
+    protected String dnsAddress;
+
+    /**
+     * Gets the value of the ipAddress property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getIPAddress() {
+        return ipAddress;
+    }
+
+    /**
+     * Sets the value of the ipAddress property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setIPAddress(String value) {
+        this.ipAddress = value;
+    }
+
+    /**
+     * Gets the value of the dnsAddress property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDNSAddress() {
+        return dnsAddress;
+    }
+
+    /**
+     * Sets the value of the dnsAddress property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDNSAddress(String value) {
+        this.dnsAddress = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectStatementAbstractType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectStatementAbstractType.java
new file mode 100644
index 00000000..38e9bcbd
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectStatementAbstractType.java
@@ -0,0 +1,77 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SubjectStatementAbstractType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="SubjectStatementAbstractType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{urn:oasis:names:tc:SAML:1.0:assertion}StatementAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Subject"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubjectStatementAbstractType", propOrder = {
+    "subject"
+})
+@XmlSeeAlso({
+    AuthorizationDecisionStatementType.class,
+    AuthenticationStatementType.class,
+    AttributeStatementType.class
+})
+public abstract class SubjectStatementAbstractType
+    extends StatementAbstractType
+{
+
+    @XmlElement(name = "Subject", required = true)
+    protected SubjectType subject;
+
+    /**
+     * Gets the value of the subject property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link SubjectType }
+     *     
+     */
+    public SubjectType getSubject() {
+        return subject;
+    }
+
+    /**
+     * Sets the value of the subject property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link SubjectType }
+     *     
+     */
+    public void setSubject(SubjectType value) {
+        this.subject = value;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectType.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectType.java
new file mode 100644
index 00000000..453713a1
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/SubjectType.java
@@ -0,0 +1,96 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+
+package oasis.names.tc.saml._1_0.assertion;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SubjectType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="SubjectType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice>
+ *         &lt;sequence>
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}NameIdentifier"/>
+ *           &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectConfirmation" minOccurs="0"/>
+ *         &lt;/sequence>
+ *         &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}SubjectConfirmation"/>
+ *       &lt;/choice>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubjectType", propOrder = {
+    "content"
+})
+public class SubjectType {
+
+    @XmlElementRefs({
+        @XmlElementRef(name = "NameIdentifier", namespace = "urn:oasis:names:tc:SAML:1.0:assertion", type = JAXBElement.class),
+        @XmlElementRef(name = "SubjectConfirmation", namespace = "urn:oasis:names:tc:SAML:1.0:assertion", type = JAXBElement.class)
+    })
+    protected List<JAXBElement<?>> content;
+
+    /**
+     * Gets the rest of the content model. 
+     * 
+     * <p>
+     * You are getting this "catch-all" property because of the following reason: 
+     * The field name "SubjectConfirmation" is used by two different parts of a schema. See: 
+     * line 94 of file:/home/clemens/workspace/schema-base/src/main/schema/oasis-sstc-saml-schema-assertion-1.0.xsd
+     * line 92 of file:/home/clemens/workspace/schema-base/src/main/schema/oasis-sstc-saml-schema-assertion-1.0.xsd
+     * <p>
+     * To get rid of this property, apply a property customization to one 
+     * of both of the following declarations to change their names: 
+     * Gets the value of the content property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the content property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getContent().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link JAXBElement }{@code <}{@link NameIdentifierType }{@code >}
+     * {@link JAXBElement }{@code <}{@link SubjectConfirmationType }{@code >}
+     * 
+     * 
+     */
+    public List<JAXBElement<?>> getContent() {
+        if (content == null) {
+            content = new ArrayList<JAXBElement<?>>();
+        }
+        return this.content;
+    }
+
+}
diff --git a/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/package-info.java b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/package-info.java
new file mode 100644
index 00000000..9de42741
--- /dev/null
+++ b/utils/src/main/java/oasis/names/tc/saml/_1_0/assertion/package-info.java
@@ -0,0 +1,9 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-520 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2008.10.29 at 09:14:07 AM GMT 
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "urn:oasis:names:tc:SAML:1.0:assertion", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package oasis.names.tc.saml._1_0.assertion;
-- 
cgit v1.2.3