2.2.2.2 ProtectionElement

The ProtectionElement field and related fields encapsulate metadata that is required to play back protected content.

ProtectionElement (variable): An XML element that encapsulates metadata that is required by the client to play back protected content.

ProtectionHeaderElement (variable): An XML element that encapsulates content-protection metadata for a specific content-protection system.

SystemID (variable): A UUID that uniquely identifies the Content Protection System to which this ProtectionElement field pertains.

ProtectionHeaderContent (variable): Opaque data that the Content Protection System that is identified in the SystemID field can use to enable playback for authorized users, encoded using base64 encoding [RFC3548].

The syntax of the fields that are defined in this section, specified in ABNF [RFC5234], is as follows.

  
 ProtectionElement = "<" ProtectionElementName S ">"
                     S 1*( ProtectionHeaderElement *1S)
                     "</" ProtectionElementName ">"
 ProtectionElementName = "Protection"
 ProtectionHeaderElement = "<" ProtectionHeaderElementName S
                           ProtectionHeaderAttributes S ">" 
                           S ProtectionHeaderContent *1S
                           "</" ProtectionHeaderElementName ">"
 ProtectionHeaderAttributes = SystemIDAttribute
 SystemIDAttribute = S SystemIDAttributeName S Eq S 
                     (DQ SystemID DQ) / (SQ SystemID SQ) *1S
 SystemIDAttributeName = "SystemID"
 SystemID = "{" 
            4*4 HEXCODED-BYTE "-" 
            2*2 HEXCODED-BYTE "-" 
            2*2 HEXCODED-BYTE "-" 
            2*2 HEXCODED-BYTE "-" 
            6*6 HEXCODED-BYTE "-" 
            "}"
 ProtectionHeaderContent = STRING-BASE64