Skip to content
This repository was archived by the owner on Aug 12, 2025. It is now read-only.
This repository was archived by the owner on Aug 12, 2025. It is now read-only.

How to insert data inside a tag with attributes without inserting the child element #32

Description

@tshaji

Hi Team,
We have a requirement wherein we need to have an attribute inside a tag and that tag should include a string, but without any child elements.
The result should look something similar to below.

I0VYVC1YLUtFWTpNRVRIT0Q9U0FNUExFLUFFUyxLRVlJRD0weDEwMDAwMDAwMTAwMDEwMDAxMDAwMTAwMDAwMDAwMDAxLFVSST0iZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxBQUFBUFhCemMyZ0FBQUFBN2UrTHFYbldTczZqeUNmYzFSMGg3UUFBQUIwYURYZHBaR1YyYVc1bFgzUmxjM1FpREhSbGMzUWdZMjl1ZEdWdWRBPT0iLEtFWUZPUk1BVD0idXJuOnV1aWQ6ZWRlZjhiYTktNzlkNi00YWNlLWEzYzgtMjdkY2Q1MWQyMWVkIixLRVlGT1JNQVRWRVJTSU9OUz0iMSI=
I0VYVC1YLVNFU1NJT04tS0VZOk1FVEhPRD1TQU1QTEUtQUVTLFVSST0iZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxBQUFBUFhCemMyZ0FBQUFBN2UrTHFYbldTczZqeUNmYzFSMGg3UUFBQUIwYURYZHBaR1YyYVc1bFgzUmxjM1FpREhSbGMzUWdZMjl1ZEdWdWRBPT0iLEtFWUZPUk1BVD0idXJuOnV1aWQ6ZWRlZjhiYTktNzlkNi00YWNlLWEzYzgtMjdkY2Q1MWQyMWVkIixLRVlGT1JNQVRWRVJTSU9OUz0iMSI=

`We have the below code

@xmlelement({
localName: 'HLSSignalingData',
prefix: CPIX_NS
})
export class HLSSignalingData extends XmlObject {
@XmlAttribute({
localName: 'playlist'
})
public playlist?: string;

@XmlChildElement({})
public hls?: string;

}
@xmlelement({
localName: 'DRMSystem',
namespaceURI: CPIX_NS_URI,
prefix: CPIX_NS
})
export class DRMSystem extends XmlObject {
@XmlChildElement({
localName: 'HLSSignalingData',
prefix: CPIX_NS,
parser: HLSSignalingData
})
public hLSSignalingData?: HLSSignalingData;
}
`
Below is what we are getting right now with the above code snippet.

I0VYVC1YLVNFU1NJT04tS0VZOk1FVEhPRD1TQU1QTEUtQUVTLFVSST0iZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxBQUFBUFhCemMyZ0FBQUFBN2UrTHFYbldTczZqeUNmYzFSMGg3UUFBQUIwYURYZHBaR1YyYVc1bFgzUmxjM1FpREhSbGMzUWdZMjl1ZEdWdWRBPT0iLEtFWUZPUk1BVD0idXJuOnV1aWQ6ZWRlZjhiYTktNzlkNi00YWNlLWEzYzgtMjdkY2Q1MWQyMWVkIixLRVlGT1JNQVRWRVJTSU9OUz0iMSI=

Is it possible to include data inside a tag with attributes without inserting the child element. In this case the additional tag added is

Activity

  1. microshine commented on Mar 2, 2023

    @microshine
    Contributor

    Your script doesn't have any XML example you need to get. I took example from this link https://docs.unified-streaming.com/documentation/drm/cpix_signaling_behaviour.html

    Here is my code

    @XmlElement({
        localName: "HLSSignalingData"
    })
    class HLSSignalingData extends XmlObject {
    
        @XmlAttribute({
            localName: "playlist"
        })
        public Playlist: string;
    
        @XmlContent({
            converter: {
                get: (v: string) => Buffer.from(v).toString("base64"),
                set: (v: string) => Buffer.from(v, "base64").toString(),
            }
        })
        public Content: string;
    }
    
    const data = new HLSSignalingData();
    data.Playlist = "media";
    data.Content = `#EXT-X-KEY:METHOD=SAMPLE-AES,KEYID=0x10000000100010001000100000000001,URI="data:text/plain;base64,AAAAPXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAB0aDXdpZGV2aW5lX3Rlc3QiDHRlc3QgY29udGVudA==",KEYFORMAT="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",KEYFORMATVERSIONS="1"`;
    
    console.log(data.toString());
    
    // <HLSSignalingData playlist="media">I0VYVC1YLUtFWTpNRVRIT0Q9U0FNUExFLUFFUyxLRVlJRD0weDEwMDAwMDAwMTAwMDEwMDAxMDAwMTAwMDAwMDAwMDAxLFVSST0iZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxBQUFBUFhCemMyZ0FBQUFBN2UrTHFYbldTczZqeUNmYzFSMGg3UUFBQUIwYURYZHBaR1YyYVc1bFgzUmxjM1FpREhSbGMzUWdZMjl1ZEdWdWRBPT0iLEtFWUZPUk1BVD0idXJuOnV1aWQ6ZWRlZjhiYTktNzlkNi00YWNlLWEzYzgtMjdkY2Q1MWQyMWVkIixLRVlGT1JNQVRWRVJTSU9OUz0iMSI=</HLSSignalingData>
  2. tshaji commented on Mar 3, 2023

    @tshaji
    Author

    Hello Miroshin Stepan,
    I appreciate your reply. It solved our problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions