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.3. 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 actual name of the 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. Contains the actual object (partial or whole) that is being added, changed or deleted. 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 actual name of the 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. 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 actual 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 This message performs the opposite function of SIF_Provide. The actual 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 actual name of the 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.