I have the following types:

(Element I am trying to update):

    <xs:element name="Apply" type="xacml:ApplyType" substitutionGroup="xacml:_expression_"/>
    <xs:complexType name="ApplyType">
        <xs:complexContent>
            <xs:extension base="xacml:ExpressionType">
                <xs:sequence>
                    <xs:element ref="xacml:_expression_" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:attribute name="FunctionId" type="xs:anyURI" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>


(Element I want to add to it):

    <xs:element name="Apply" type="xacml:ApplyType" substitutionGroup="xacml:_expression_"/>
    <xs:complexType name="ApplyType">
        <xs:complexContent>
            <xs:extension base="xacml:ExpressionType">
                <xs:sequence>
                    <xs:element ref="xacml:_expression_" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:attribute name="FunctionId" type="xs:anyURI" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>


I am trying this Java code, but the element still stays as _expression_ (not AttributeValue):
            
            //I already have applyXml loaded
      
            ExpressionType exp = null;
            AttributeValueDocument exprDoc = AttributeValueDocument.Factory
                    .newInstance();
            AttributeValueType value = exprDoc.addNewAttributeValue();
            value.setDataType(dataType);
            ((SimpleValue) value).setStringValue("test");
            exp = value;
          
           applyXml.addNewExpression(0);
           applyXml.getExpressionArray()[0].set(exp);


Pleas help!


Relax. Yahoo! Mail virus scanning helps detect nasty viruses!

Reply via email to