Allows an agent to include data not yet defined within a SIF data object as name/value pairs. A name/value pair, the name being contained in the Name attribute, the value being the element content. The name of the extended element. As it is possible that names for extended elements may collide from agent to agent, it is recommended that the names of extended elements be configurable in an agent, or that agents use URIs for the names of extended elements. In a Change event, this flag can be used to indicate an element has been deleted from the parent list container. At a minimum the key for the list must also be present. Contains one of the SIF message types. The version of the SIF Implementation Specification that defines this message's XML structure. For this version of the specification, the value of this attribute is 2.5. This attribute can be used by ZIS and agent implementations to choose schema files to validate the message's XML. Header information associated with a message. SIF_MsgId is a globally unique message identifier from the Agent or ZIS that sends out the message. Timestamp of when the message was sent. The SIF_SourceId is the Id of the originator of the message. Each source needs to have a zone unique case-sensitive identifier. This element represents the Id of the recipient of the message and may be present as follows: The minimum level of encryption required by the message originator to be considered a secure channel upon message delivery to other agents. No encryption required Symmetric key length of at least 40 bits is to be used Symmetric key length of at least 56 bits is to be used Symmetric key length of at least 80 bits is to be used Symmetric key length of at least 128 bits is to be used The minimum level of authentication required by the message originator to be considered a secure channel upon message delivery to other agents. No authentication required and a valid certificate does not need to be presented. A valid certificate must be presented. A valid certificate from a trusted certificate authority must be presented. A valid certificate from a trusted certificate authority must be presented and the CN field of the certificate's Subject entry must match the host sending the certificate. A list of SIF contexts that applies to a message or operation. Typically where used as an optional element, the omission of this element implies the SIF_Default context applies. The name of a SIF Context that applies to a message or operation. Contains protocol information regarding a ZIS or Agent. This element is required if the protocol is HTTPS or HTTP. It contains the https or http URL for contacting the agent. Property name. Property value. The type of protocol to use (HTTPS, HTTP or an implementation-defined protocol). Whether the protocol provides a secure channel. This element is used to signal a successful response. An optional textual description/equivalent of SIF_Code. Optional element to hold data related to a successful operation. This data is currently limited to a SIF_Message returned by the ZIS in response to a Pull-Mode Agent's SIF_GetMessage, SIF_AgentACL returned by the ZIS in response to SIF_Register and SIF_GetAgentACL, and SIF_ZoneStatus returned by the ZIS in response to SIF_GetZoneStatus. This element is used to signal an unsuccessful response. See Error Codes. A simple, easy to understand, description of the error. The primary consumer of this message is the application user. Example: "Unable to open database." An optional error description that is more complete and technical in nature. It is to be used as a diagnostic message in trouble-shooting procedures. Example: "The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300)." SIF's default query mechanism. Individual elements/attributes being requested of matching object. See SIF_Element Syntax below. If specified, only the elements/attributes requested are returned in the SIF_Response (with any parent elements/attributes); otherwise, all elements supported by the provider's object are returned. The name of the SIF object that is being queried for. This is the element/attribute being queried. See below for syntax. The comparison operator for the condition. Equals Less Than Greater Than Less Than Or Equals Greater Than Or Equals Not Equals SIF_Value is the data that is used to compare with the value of the element or attribute. The boolean operator for joining conditions (SIF_Condition elements) within this element. Note that None should be used if there is only one SIF_Condition element. The Boolean operator for joining conditions (SIF_Conditions elements) within this element. Note that None should be used if there is only one SIF_Conditions element. An example SIF object that serves as a template for matching objects. There is an implied EQ operator for every element/attribute value present and an implied And group of all resulting conditions. Currently this is an experimental feature and limited to use with select objects; wider use may be considered in future versions of this specification. SIF's default query mechanism for SIF_Request, SIF_Query, has several limitations that limit its usefulness when creating reporting applications that process data from a SIF zone. SIF_Query is limited to matching only one object type per query, requiring applications to manually join together results as needed for reporting and general data processing. SIF_ExtendedQuery is designed to allow for joins on object identifiers/RefIds and to allow retrieval of data in a row/column fashion similar to SQL. Each returned column may contain hierarchical XML elements/objects. While envisioned as the primary mechanism for SIF-based ReportManifests, Providers and Responders in a Zone may support SIF_ExtendedQuery in addition to SIF_Query. Support for SIF_ExtendedQuery can be declared in and retrieved from the Zone is various Infrastructure messages and objects. If no SIF_DestinationId applies to the request and this element is supplied, the Requester specifies that the extended query be routed to the Provider on record for the given object name. If this element is omitted and no SIF_DestinationId applies to the request, the ZIS routes the request to the Provider on record for the object name in SIF_From. Indicates the element/attribute to return as a column. Contents can be left empty to return the whole object specified in ObjectName, or * can be designated to return all attributes and immediate child elements of the object specified in ObjectName, or SIF_Element Syntax can be specified, relative to the object specified in ObjectName. Requested attributes are to be returned as the text value of the corresponding attribute, elements as a copy of the XML element itself including attributes if they exist. Optional caption for the column. The name of the object from which to retrieve element/attributes. Specifies whether query results should return all rows (false) or just distinct ones (true). Rows are distinct if at least one column differs between them. The maximum number of rows to return. If All, return all rows, otherwise return the top rows up to the maximum row count indicated. Specifies the left-side element/attribute on which to constrain the join. Currently only support for keys/RefIds/RefId references is required. Name of the object that contains the element/attribute. Specifies right left-side element/attribute on which to constrain the join. Currently only support for keys/RefIds/RefId references is required. Name of the object that contains the element/attribute. Type of relational join. The name of the object to query. This is the element/attribute being queried. The name of the object containing the element/attribute. The comparison operator for the condition. Equals Less Than Greater Than Less Than Or Equals Greater Than Or Equals Not Equals SIF_Value is the data that is used to compare with the value of the element or attribute. The boolean operator for joining conditions (SIF_Condition elements) within this element. Note that None should be used if there is only one SIF_Condition element. The Boolean operator for joining conditions (SIF_Conditions elements) within this element. Note that None should be used if there is only one SIF_Conditions element. Indicates the element/attribute by which to sort. The name of the object containing the element/attribute. Whether to order the element/attribute in ascending or descending order. This element provides a wrapper for data returned in response to a SIF_ExtendedQuery. Used in SIF_Response and SIF_ReportObject. The element/attribute specified for the column in SIF_ExtendedQuery. The object in which the element/attribute occurs. The caption for the column, if specified in SIF_ExtendedQuery. Contains the value of each column specified in SIF_ExtendedQuery/SIF_Select. The order of the columns must correspond to the order of the elements as requested in SIF_ExtendedQuery. Note the number of columns may be expanded from the requested columns if * is indicated one or more times in the SIF_Select clause. This message is used as an acknowledgement to an infrastructure message. The SIF_SourceId of the infrastructure message for which the SIF_Ack serves as a response. The SIF_MsgId of the infrastructure message for which the SIF_Ack message serves as a response. SIF_Event is used to deliver event objects as defined in SIF. This is the name of the object being added, changed or deleted. This is the action associated with the object that is being conveyed by this SIF_Event. The SIF_Provide message is used for advertising the provision of data objects. Whether or not the Agent supports SIF_ExtendedQuery for this object. The name of the SIF object that is being provided. Once registered, this message allows an agent to announce to the ZIS the functionality the agent will provide. The ZIS compares the functionality to its access control list and either returns a failure or a success. Upon success, the ZIS performs an atomic update of its provide/subscribe database entries for the agent to match the objects listed in this message and atomically updates other stored settings for the agent. A ZIS must not allow an agent to perform operations that it did not successfully announce. Agents should be aware that if the access control list changes after a successful SIF_Provision, some operations may still be rejected with access control errors. Whether or not SIF_ExtendedQuery is supported with regard to this object. The name of each object. The name of each object. The name of each object. The name of each object. The name of each object. Optionally specify whether or not SIF_ExtendedQuery may be sent in requests for this object. The name of each object. Whether or not SIF_ExtendedQuery is supported with regard to this object. The name of each object. The name of the SIF Zone Service as defined by a SIF Zone Service specification The name of the SIF Zone Service as defined by a SIF Zone Service specification A specific method that the agent invokes the specified SIF Zone Service The name of the SIF Zone Service as defined by a SIF Zone Service specification A specific event that the agent desires to subscribe to The name of the SIF Zone Service as defined by a SIF Zone Service specification SIF_Register is the message for registering an agent with a ZIS. This is the descriptive name of the agent that is registering (i.e. Ramsey Media Center). Specifies the SIF Implementation Specification version(s) defining messages the agent can receive. If the ZIS cannot communicate in this format, it should reject the request. Specifies the maximum size of a packet to be returned by the ZIS. The ZIS may return packets smaller than, or equal to, the maximum value. Specifies the communication mode (Pull or Push) as chosen by the message sender. The vendor of the SIF agent. The agent version number. The format of this field is undefined, but it should match the format used in the agent's conformance statement, if the agent is SIF Certified. The name of the company of the product that this agent supports. The name of the product that this agent supports. The version of the product. This field is informative only. HTTP URL referencing an icon for graphical representation of the application/agent. Should range from 16x16 pixels to 128x128 pixels and be of an image MIME type commonly supported by Web browsers (e.g. PNG, JPEG, GIF). Agents may optionally follow the more restrictive guidelines at [FAVICON]. SIF_Request is used to request information in SIF data objects from other SIF nodes. Specifies which SIF Implementation Specification version should be used when returning the response data; wildcards are allowed. The responding agent SHOULD return data using the highest version it supports that falls within the specified versions. Specifies the maximum size of a response packet to be returned to the requester. The responder may return packets smaller than, or equal to, the maximum value. To guarantee delivery of response packets, requesting agents must not specify a SIF_MaxBufferSize greater than its registered SIF_Register/SIF_MaxBufferSize. SIF_Response is used to respond to a SIF_Request message. This is the message Id of the SIF_Request message being processed. It provides a unique match between a SIF_Response and a previous SIF_Request. Since the Id of each message from an agent is unique, the receiver of a SIF_Response message will be able to relate the SIF_Response to a SIF_Request that it sent out previously. This element represents the index of the SIF_Response message in the sequence of packets that make up a complete response. Its value must be in the range of 1 through n, with n equal to the total number of packets that make up a response. This element provides an indication as to whether there are more packets besides this one to make up a complete response. The SIF_ObjectData element contains the data objects matching the supplied criteria in the SIF_Request message if the SIF_Request contained SIF_Query. If the SIF_Request contained SIF_ExtendedQuery, include SIF_ExtendedQueryResults. This message is used to subscribe to event objects that are contained in this message. The name of the object that is being subscribed to. All valid SIF_Events for this object will be routed to the subscriber. This message is designed to control the flow of data an agent and ZIS or vice-versa, and to synchronously retrieve data available from the ZIS. This element holds the sub-message being sent. This sub-message detects if an a Push-Mode Agent or ZIS is ready to receive and process messages. This sub-message tells a receiver not to send any more messages to the sender. This message tells a receiver that the sender is able to process messages. This message tells the ZIS to return the first available message to the agent, subject to Selective Message Blocking. This message tells the ZIS to return the current SIF_ZoneStatus in a SIF_Ack. This message tells the ZIS to return the Agent's ACL permissions in a SIF_Ack. This sub-message asks a receiver (ZIS or Push-Mode Agent) to cancel the specified SIF_Requests, pending or in process. ZIS will send a "final" SIF_Response for each cancelled SIF_Request. No further SIF_Responses for these requests will be placed in the Agent's queue. This is the The SIF_SystemControl message is already part of the SIF Infrastructure. This messages allows for synchronous communication between an agent and a ZIS. The SIF_SystemControl - SIF_CancelServiceInputs allows an agent or ZIS to notify the other party that the specified SIF_ServiceInput should be cancelled. ZIS will send a "final" SIF_ServiceOutput for each cancelled SIF_ServiceInput. No further SIF_ServiceOutputs for these requests will be placed in the Agent's queue. This is the This message performs the opposite function of SIF_Provide. The name of the object that is being removed. This message is used to unregister an agent from a Zone. This message is used to unsubscribe from SIF_Events. The name of the SIF object from which the agent should be unsubscribed. Events pertaining to this object published after successful unsubscription will no longer be queued for delivery to the agent. Events already queued for delivery to the agent prior to unsubscription will be delivered. SIF_ServiceInput is used to invoke a method that is exposed by a SIF Zone Service. The name of the SIF Zone Service that is being invoked. This is the name of the service operation that is being invoked. The unique Id of this service request invocation. Multiple SIF_ServiceInput packets may be sent with this same SIF_ServiceMsgId Specifies which SIF Specification version should be used when returning the response data. If a responder cannot return response data in this format, it should reject the SIF_ServiceInput. It is recommended that clients use a wildcard version for the “minor” portion of the version, such as "2.*". Specifies the maximum size of a response packet to be returned to the requester. The responder may return packets smaller than, or equal to, the maximum value. If the maximum size is too small to contain a single whole response object, the responder should send an error back to the requester that the SIF_MaxBufferSize isn't supported. To guarantee delivery of response packets, requesting agents must not specify a SIF_MaxBufferSize greater than its registered SIF_Register/SIF_MaxBufferSize. This element represents the index of the SIF_ServiceInput message in the sequence of packets that make up a complete response. Its value must be in the range of 1 through n, with n equal to the total number of packets that make up a response. This element provides an indication as to whether there are more packets besides this one to make up a complete service request. The value of this element can only be "Yes" or "No". SIF_ServiceOutput is used to respond to a SIF_ServiceInput message. This element represents the value of the SIF_ServiceMsgId that was sent as part of the original SIF_ServiceInput message stream, and should contain the same value to allow the client and the ZIS to associate each SIF_ServiceOutput packet with the SIF_ServiceInput message stream. This value uniquely identifies the entire set of SIF_ServiceInput and SIF_ServiceOutput messages involved in a single invocation of a SIF Zone Service method. This element represents the index of the SIF_ServiceOutput message in the sequence of packets that make up a complete response. Its value must be in the range of 1 through n, with n equal to the total number of packets that make up a response. This element provides an indication as to whether there are more packets besides this one to make up a complete response. The value of this element can only be "Yes" or "No". SIF_ServiceNotify is used to deliver notifications to service clients that some state associated with the service has changed. The name of the SIF Zone Service that initiated the event A GUID that has been assigned to this series of messages. All SIF_ServiceNotify messages that contain this Id correspond to the same event instance. This element represents the index of the SIF_ServiceNotify message in the sequence of packets that make up a complete notification message stream. Its value must be in the range of 1 through n, with n equal to the total number of packets that make up the message stream. This element provides an indication as to whether there are more packets besides this one to make up a complete notification message stream. The value of this element can only be "Yes" or "No".