Status: Accepted Owner: jmacauley Labels: Type-Defect Priority-Medium FoundInVersion-2.0 FixedInVersion-2.0 New issue 94 by jmacauley: Simplify serviceAttributes definition. http://code.google.com/p/ogf-nsi-project/issues/detail?id=94 Current serviceAttributes definition can consist of both type/value pairs or ANY elements included from other namespaces. targetNamespace="http://schemas.ogf.org/nsi/2013/04/connection/types" <xsd:element name="serviceAttributes" type="ftypes:TypeValuePairListType" minOccurs="0" /> targetNamespace="http://schemas.ogf.org/nsi/2013/04/framework/types" <xsd:complexType name="TypeValuePairListType"> <xsd:sequence> <xsd:element name="attribute" type="tns:TypeValuePairType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TypeValuePairType"> <xsd:sequence> <xsd:element name="value" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded" /> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="type" type="xsd:string" use="optional" /> <xsd:attribute name="targetNamespace" type="xsd:anyURI" use="optional" /> <xsd:anyAttribute namespace="##other" processContents="lax" /> </xsd:complexType> This allows us to specify the same thing two different ways. The example below shows how I can specify a custom attribute "sNCP" from the SURFnet namespace. <serviceAttributes> <attribute> <surf:sNCP xmlns:surf="http://schemas.surfnet.nl/nsi/2013/04/services">Protected</surf:sNCP> </attribute> <attribute type="sNCP" targetNamespace="http://schemas.surfnet.nl/nsi/2013/04/services"> <value>Protected</value> </attribute> </serviceAttributes> The proposal is to flatten the serviceAttributes to contain only the ANY structure as follows: targetNamespace="http://schemas.ogf.org/nsi/2013/04/connection/types" <xsd:element name="serviceAttributes" type="tns:ServiceAttributesType" minOccurs="0" /> <xsd:complexType name="ServiceAttributesType"> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:anyAttribute namespace="##other" processContents="lax" /> </xsd:complexType> This will restrict the protocol to a singular mechanism of attribute specification. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings