XMLStreamingAPI - Dans le champ d’application

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 16 minutes de lecture
  • Génère une charge utile XML de diffusion volumineuse à utiliser dans une demande REST ou SOAP pour envoyer des données en bloc à une API tierce. Vous pouvez également créer la charge utile sous la forme d’une chaîne XML pour une option autre que la diffusion en continu.

    Utilisez ces méthodes dans une Studio de workflow étape de script avec l’identificateur d’espace de noms sn_ih. Par exemple, vous pouvez utiliser cette API pour créer une charge utile XML dans l’étape Studio de workflow Script et transmettre la valeur renvoyée à l’étape REST pour envoyer la demande à un service tiers. Pour plus d’informations, reportez-vous à Studio de workflow l’étape Script.
    Remarque :
    Vous ne pouvez utiliser cette API que dans l’environnement Studio de workflow .

    Il n’existe aucun constructeur pour cette classe. Au lieu de cela, vous devez appeler la méthode build() dans la classe XMLStreamingBuilder pour renvoyer un objet XMLStreamingAPI.

    Ordre d’appel d’API

    Générez des charges utiles XML en instanciant d’abord un objet de générateur avec XMLStreamingBuilder , puis en appelant les méthodes de la classe XMLStreamingAPI :

    1. XMLStreamingBuilder : Crée un objet de générateur
    Utilisez ces méthodes dans l’ordre suivant pour créer un objet de générateur :
    1. XMLStreamingBuilder() : instancie l’objet XMLStreamingBuilder.
    2. withAttachment() : Facultatif. Crée un document XML en tant que pièce jointe et le stocke dans la table Pièces jointes en continu [streaming_attachment]. Si vous n’appelez pas cette méthode, l’API génère la charge utile sous la forme d’une chaîne XML.
    3. expiresAt() : Optionnel. Définit une heure à laquelle la pièce jointe expire. False est la valeur par défaut. Doit également appeler la méthode withAttachment().
    4. build() : Renvoie un objet XMLStreamingAPI.
    2. XMLStreamingAPI : construit la charge utile XML
    Utilisez ces méthodes dans l’ordre suivant pour créer la charge utile XML :
    1. startDocument() : crée l’élément parent de niveau supérieur dans le document XML.
    2. Méthodes permettant de générer des éléments enfants dans le document XML, telles que writeTextElement(),startElement() et writeArray().
    3. Méthodes permettant de générer des attributs pour un élément, telles que writeAttribute(),writeNamespace() et writeDtd().
    4. endElement() : ferme un élément XML.
    5. endDocument : ferme l’élément parent de niveau supérieur.
    6. getXMLString() ou getAttachmentId() : renvoie la chaîne XML ou l’ID de pièce jointe que vous avez créé.
    7. close() : ferme l’objet XMLStreamingAPI.

    Limites de taille

    Les charges utiles générées via cette API ne peuvent pas dépasser ces limites de taille :

    • Pièces jointes : 200 Mo
    • Chaînes : 5 Mo

    L’exemple suivant montre comment créer un document XML et le stocker dans la table Pièces jointes en continu [streaming_attachment] avec une date d’expiration définie.

    
    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment() // Creates the XML document in streaming mode within an attachment.
        .expiresAt(ttl) // Sets an expiration date for the attachment.
        .build(); // Creates the XMLStreamingAPI object.
    
      builder.startDocument("Employee") // Begins generating the XML document.
        .writeTextElement("firstName","John") // Writes a "firstName" element and value.
        .writeTextElement("lastName","Smith")
        .writeTextElement("age","25")
        .startElement("address") // Adds an "address" parent element.
          .writeTextElement("streetAddress", "21 2nd Street") // Writes a child element and value.
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement() // Adds a closing tag for the "address" element.
        .startElement("phoneNumber")
          .writeTextElement("type","home")
          .writeTextElement("number","212 555-1234")
          .writeTextElement("type","fax")
          .writeTextElement("number","646 555-4567")
        .endElement()
      .endDocument() // Stops generating the XML document.
          
      gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    Cet exemple montre également comment utiliser l’API dans l’étape Script et créer la charge utile en tant que chaîne XML. Vous pouvez utiliser cette option pour créer des charges utiles de moins de 5 Mo.

    (function execute(inputs, outputs) {
    
      var builder = new sn_ih.XMLStreamingBuilder().build();
      
      builder.startDocument("Employee")
        .enablePrettyPrint()
        .writeTextElement("firstName","John")
        .writeTextElement("lastName","Smith")
        .writeTextElement("age","25")
        .startElement("address")
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement()
        .startElement("phoneNumber")
          .writeTextElement("type","home")
          .writeTextElement("number","212 555-1234")
          .writeTextElement("type","fax")
          .writeTextElement("number","646 555-4567")
        .endElement()
      .endDocument()
    
      outputs.payload = builder.getXMLString();
      
    })(inputs, outputs);

    Sortie :

    <?xml version="1.0" encoding="UTF-8"?>
    <firstName>John</firstName>
    <lastName>Smith</lastName>
    <age>25</age>
    <address>
      <streetAddress>21 2nd Street</streetAddress>
      <city>Santa Clara</city>
      <state>CA</state>
      <postalCode>11111</postalCode>
    </address>
    <phoneNumber>
      <type>home</type>
      <number>212 555-1234</number>
      <type>fax</type>
      <number>646 555-4567</number>
    </phoneNumber>

    XMLStreamingAPI : close()

    Ferme l’objet XMLStreamingAPI. Vous devez appeler cette méthode pour fermer le flux après la création de votre document XML.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    nul

    Exemple

    L’exemple suivant montre comment créer un document XML et le stocker dans la table Pièces jointes en continu [streaming_attachment] avec une date d’expiration définie.

    
    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment() // Creates the XML document in streaming mode within an attachment.
        .expiresAt(ttl) // Sets an expiration date for the attachment.
        .build(); // Creates the XMLStreamingAPI object.
    
      builder.startDocument("Employee") // Begins generating the XML document.
        .writeTextElement("firstName","John") // Writes a "firstName" element and value.
        .writeTextElement("lastName","Smith")
        .writeTextElement("age","25")
        .startElement("address") // Adds an "address" parent element.
          .writeTextElement("streetAddress", "21 2nd Street") // Writes a child element and value.
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement() // Adds a closing tag for the "address" element.
        .startElement("phoneNumber")
          .writeTextElement("type","home")
          .writeTextElement("number","212 555-1234")
          .writeTextElement("type","fax")
          .writeTextElement("number","646 555-4567")
        .endElement()
      .endDocument() // Stops generating the XML document.
          
      gs.log(builder.getAttachmentId()); // Returns the sys_id of the attachment.
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : disablePrettyPrint()

    Met fin à un joli formatage XML d’impression.

    Avant d’appeler cette méthode, vous devez d’abord appeler enablePrettyPrint() pour ajouter une mise en forme XML à une section.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter une jolie mise en forme d’impression à l’élément address .

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
        .writeTextElement("firstName","John")
        .writeTextElement("lastName","Smith")
        .writeTextElement("age","25")
        .enablePrettyPrint()
        .startElement("address")
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement()
        .disablePrettyPrint()
        .startElement("phoneNumber")
          .writeTextElement("type","home")
          .writeTextElement("number","212 555-1234")
          .writeTextElement("type","fax")
          .writeTextElement("number","646 555-4567")
        .endElement()
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : enablePrettyPrint()

    Ajoute une jolie mise en forme d’impression à un élément XML ou à une arborescence d’éléments.

    Utilisez la méthode disablePrettyPrint() pour mettre fin à la mise en forme.

    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter une jolie mise en forme d’impression à l’élément address .

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
        .writeTextElement("firstName","John")
        .writeTextElement("lastName","Smith")
        .writeTextElement("age","25")
        .enablePrettyPrint()
        .startElement("address")
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement()
        .disablePrettyPrint()
        .startElement("phoneNumber")
          .writeTextElement("type","home")
          .writeTextElement("number","212 555-1234")
          .writeTextElement("type","fax")
          .writeTextElement("number","646 555-4567")
        .endElement()
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : endDocument()

    Termine la structure de votre document XML.

    Après avoir appelé la méthode startDocument() et organisé votre document XML en streaming, appelez la méthode endDocument() à la fin de la structure de votre document. Vous devez utiliser ces deux méthodes ensemble pour réussir à créer la structure de votre document XML de diffusion.

    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un document XML contenant des éléments sur un utilisateur.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
            .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : endElement()

    Ajoute une balise de fermeture à un élément XML.

    Utilisez les méthodes suivantes dans cette séquence pour créer un élément XML valide :
    1. Utilisez la méthode startElement() pour ajouter une balise de départ.
    2. Utilisez la méthode endElement() pour ajouter la balise de fermeture.
    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un élément parent nommé adresse , puis écrire quatre éléments enfants.

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
          .startElement("address")
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement()
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : getXMLString()

    Renvoie le document XML sous forme de chaîne.

    Pour renvoyer le document XML sous forme de chaîne, n’appelez pas la méthode getAttachementId() dans la classe XMLStreamingBuilder . Pour plus d’informations, consultez XMLStreamingBuilder - Scoped.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Document XML créé à l’aide des méthodes XMLStreamingAPI , en tant que chaîne.

    L’exemple suivant montre comment créer un document XML, puis le renvoyer sous forme de chaîne.

    (function execute(inputs, outputs) {
    
      var builder = new sn_ih.XMLStreamingBuilder().build();
      
      builder.startDocument("Employee")
        .enablePrettyPrint()
        .writeTextElement("firstName","John")
        .writeTextElement("lastName","Smith")
        .writeTextElement("age","25")
        .startElement("address")
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement()
        .startElement("phoneNumber")
          .writeTextElement("type","home")
          .writeTextElement("number","212 555-1234")
          .writeTextElement("type","fax")
          .writeTextElement("number","646 555-4567")
        .endElement()
      .endDocument()
    
      outputs.payload = builder.getXMLString();
      
    })(inputs, outputs);

    Sortie :

    <?xml version="1.0" encoding="UTF-8"?>
    <firstName>John</firstName>
    <lastName>Smith</lastName>
    <age>25</age>
    <address>
      <streetAddress>21 2nd Street</streetAddress>
      <city>Santa Clara</city>
      <state>CA</state>
      <postalCode>11111</postalCode>
    </address>
    <phoneNumber>
      <type>home</type>
      <number>212 555-1234</number>
      <type>fax</type>
      <number>646 555-4567</number>
    </phoneNumber>

    XMLStreamingAPI : startDocument(String rootElement, Object namespaceDefinitionMap)

    Commence à créer un document XML.

    Après avoir appelé la méthode build(), appelez la méthode startDocument() pour commencer à organiser votre document XML. Vous devez également appeler la méthode endDocument à la fin de la structure de votre document.

    Tableau 13. Paramètres
    Nom Type Description
    élément racine Chaîne Facultatif. Élément racine, ou élément parent de niveau supérieur, de votre document XML.
    namespaceDefinitionMap Objet Facultatif. Mappage des clés et des valeurs des espaces de noms et de leurs valeurs associées dans une liste d’éléments ultérieure. Par exemple :
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tableau 14. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un document XML contenant des éléments contenant des informations sur un employé.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
            .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : startElement(nom de la chaîne, namespaceMap de l’objet, attributeMap de l’objet, préfixe de chaîne)

    Ajoute une balise de départ pour un élément XML.

    Utilisez les méthodes suivantes dans cette séquence pour créer un élément XML valide :
    1. Utilisez la méthode startElement() pour ajouter une balise de départ.
    2. Utilisez la méthode endElement() pour ajouter la balise de fermeture.
    Tableau 15. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’élément XML.
    carte de l’espace de noms Objet Facultatif. Mappage des clés et des valeurs des espaces de noms et de leurs valeurs associées dans une liste d’éléments ultérieure. Par exemple :
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Map-attribut Objet Facultatif. Mappage des clés et des valeurs pour les attributs et leurs valeurs associées dans une liste ultérieure d’éléments.
    préfixe Chaîne Facultatif. Préfixe pour l’élément XML.
    Tableau 16. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un élément parent nommé adresse , puis écrire quatre éléments enfants.

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
          .startElement("address")
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
        .endElement()
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : writeArray(String elementName, Array data, String wrappingElement)

    Ajoute une liste d’éléments imbriqués avec du texte prédéfini à votre document XML de diffusion.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeArray() pour ajouter un bloc d’éléments imbriqués à votre document XML de diffusion.

    Tableau 17. Paramètres
    Nom Type Description
    elementName (en anglais seulement) Chaîne Nom de l’élément XML associé à chaque chaîne répertoriée dans le data tableau.
    données Tableau Liste des valeurs à affecter à chaque élément imbriqué dans wrappingElement.
    wrappingElement Chaîne Élément parent contenant chaque elementNamefichier .
    Tableau 18. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un élément parent nommé officeLocations, puis imbriquer un tableau de cinq éléments de ville .

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
          .writeArray('city', ['Santa Clara','San Diego','Chicago','Sydney','London'], 'officeLocations')
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : writeAttribute (nom de la chaîne, valeur de la chaîne)

    Ajoute un attribut à un élément de votre document XML.

    Après avoir appelé la méthode startDocument(),startElement() ou writeTextElement(), vous pouvez appeler la méthode writeAttribute() pour ajouter un attribut à l’élément XML associé.

    Tableau 19. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’attribut de l’élément XML.
    valide Chaîne Valeur de l’attribut de l’élément XML.
    Tableau 20. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute un attribut nommé idNumber à l’élément employee .

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
        .writeAttribute('idNumber','12345')
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : writeAttributes(Object attributeMap)

    Ajoute des attributs à un élément de votre document XML.

    Après avoir appelé la méthode startDocument(),startElement() ou writeTextElement(), vous pouvez appeler la méthode writeAttributes() pour ajouter des attributs à l’élément XML associé.

    Tableau 21. Paramètres
    Nom Type Description
    Map-attribut Objet Carte de clés et de valeurs contenant des noms d’attributs et des valeurs à associer à l’élément XML. Par exemple :
    {
    'attributeOne':'attributeValue',
    'attributeTwo':'attributeValue'
    }
    Tableau 22. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute des attributs nommés idNumber, officeLocation et department à l’élément employee .

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
        .writeAttributes({'idNumber':'12345', 'officeLocation':'San Diego', 'department':'Sales'})
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : writeCData(données de chaîne)

    Ajoute CDATA à votre document XML.

    Après avoir appelé la méthode writeCDataElement(), vous pouvez appeler la méthode writeCData() pour ajouter CDATA dans l’élément.

    Tableau 23. Paramètres
    Nom Type Description
    données Chaîne Valeur à inclure après le mot clé CDATA dans votre élément CDATA.
    Tableau 24. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute CDATA à l’élément CDATA timeWorked.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
            .writeCDataElement('timeWorked')
            .writeCData('< 2 years')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI - writeCDataElement(nom de chaîne, données de chaîne, préfixe d’objet)

    Ajoute un élément CDATA à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeCDataElement() pour ajouter un élément CDATA à votre document XML.

    Tableau 25. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’élément CDATA.
    données Chaîne Facultatif. Type de données à analyser sous l’élément CDATA.
    préfixe Objet Facultatif. Carte des éléments et valeurs enfants que l’élément CDATA inclut. Par exemple :
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Vous devez associer le préfixe d’un élément XML à un espace de noms à l’aide de writeNamespace().
    Tableau 26. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple utilise une définition de type de document nommée adresse pour définir une définition de type de document interne pour le document XML.

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
      .writeDtd('address')
      .writeCDataElement('home', '#PCDATA', {'streetAddress', 'city', 'state', 'postalCode'})
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI : writeCharacters(texte de chaîne)

    Ajoute du texte à votre document XML.

    Utilisez la méthode writeCharacters() pour insérer des données de chaîne dans une section de votre document XML.

    Tableau 27. Paramètres
    Nom Type Description
    Texte Chaîne Texte à ajouter à une section de votre document XML.
    Tableau 28. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter des valeurs de texte aux éléments de votre document XML.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
            .startElement('firstName')
            .writeCharacters('John')
            .EndElement()
            .startElement('lastName')
            .writeCharacters('Smith')
            .endElement()
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : writeComment(commentaire de chaîne)

    Ajoute un commentaire à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeComment() pour ajouter un commentaire à votre document XML.

    Tableau 29. Paramètres
    Nom Type Description
    commentaire Chaîne Texte du commentaire à inclure.
    Tableau 30. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter un commentaire à un document XML.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
            .writeComment('Element for information related to active employees.')
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : writeDtd(String dtd)

    Ajoute une définition de type de document à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeDtd() pour ajouter une définition de type de document XML valide à votre document XML.

    Tableau 31. Paramètres
    Nom Type Description
    Dtd Chaîne Nom d’une définition de type de document XML valide.
    Tableau 32. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple utilise une définition de type de document nommée adresse pour définir une définition de type de document interne pour le document XML.

    try {
      var ttl = new GlideDateTime("2011-01-01 12:00:00");
      var builder = new sn_ih.XMLStreamingBuilder()
        .withAttachment()
        .expiresAt(ttl)
        .build();
    
      builder.startDocument("Employee")
      .writeDtd('address')
      .writeCDataElement('home', '#PCDATA', {'streetAddress', 'city', 'state', 'postalCode'})
          .writeTextElement("streetAddress", "21 2nd Street")
          .writeTextElement("city", "Santa Clara")
          .writeTextElement("state", "CA")
          .writeTextElement("postalCode", "11111")
      .endDocument()
          
      gs.log(builder.getAttachmentId());
    } catch (err) {
      gs.log(err);
    } finally {
      builder.close();
    }

    XMLStreamingAPI - writeNamespace(String prefix, String namespaceURI)

    Ajoute un espace de noms à un élément de votre document XML.

    Après avoir appelé la méthode startDocument(),startElement() ou writeTextElement(), vous pouvez appeler la méthode writeNamespace() pour ajouter un espace de noms à l’élément XML associé.

    Tableau 33. Paramètres
    Nom Type Description
    préfixe Chaîne Préfixe de l’espace de noms XML.
    namespaceURI Chaîne Facultatif. URI pour l’espace de noms.
    Tableau 34. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment ajouter un espace de noms et un URI à l’élément racine de l’entreprise , puis affecter le préfixe à l’élément companyName imbriqué.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('company')
        .writeNamespace('x','https://www.servicenow.com')
            .writeTextElement('companyName', 'ServiceNow')
            .writeNamespace('x')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : writeNamespaces(Object namespaceMap)

    Ajoute des espaces de noms à l’élément racine de votre document XML.

    Après avoir appelé la méthode startDocument() ou startElement(), vous pouvez appeler la méthode writeNamespaces() pour déclarer des espaces de noms pour l’élément XML associé.

    Tableau 35. Paramètres
    Nom Type Description
    carte de l’espace de noms Objet Carte de clés et de valeurs contenant des préfixes d’espace de noms et des URI à associer à l’élément racine du document XML. Par exemple :
    {
    'namespaceOne':'namespaceValue',
    'namespaceTwo':'namespaceValue'
    }
    Tableau 36. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    Cet exemple ajoute deux espaces de noms et URI à l’élément racine de la société , puis attribue les préfixes appropriés aux éléments imbriqués.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('company')
        .writeNamespaces({'x':'https://www.servicenow.com', 'y':'https://www.developer.servicenow.com'})
            .writeTextElement('companyName', 'ServiceNow')
            .writeNamespace('x')
            .writeTextElement('devFramework', 'UI Framework')
            .writeNamespace('y')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }

    XMLStreamingAPI : writeTextElement(nom de chaîne, texte de chaîne, préfixe d’objet)

    Ajoute un seul élément XML à votre document XML.

    Après avoir appelé la méthode startDocument(), vous pouvez appeler la méthode writeTextElement() pour ajouter un seul élément XML à la structure de votre document XML.

    Tableau 37. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’élément XML.
    Texte Chaîne Valeur de l’élément XML.
    préfixe Objet Facultatif. Carte des préfixes et des valeurs associés à l’élément XML. Par exemple :
    {
    'prefixOne':'prefixValue',
    'prefixTwo':'prefixValue'
    }
    Vous devez associer le préfixe d’un élément XML à un espace de noms à l’aide de writeNamespace().
    Tableau 38. Renvoie
    Type Description
    XMLStreamingAPI Objet XML de diffusion en continu pour la construction de la charge utile.

    L’exemple suivant montre comment créer un document XML contenant trois éléments avec des informations sur un employé.

    try {
        var ttl = new GlideDateTime('2011-01-01 12:00:00');
        var builder = new sn_ih.XMLStreamingBuilder().withAttachment().expiresAt(ttl);
        var streamingDocument = builder.build();
    
        streamingDocument.startDocument('Employee')
            .writeTextElement('firstName', 'John')
            .writeTextElement('lastName', 'Smith')
            .writeTextElement('age', '25')
        .endDocument();
        gs.log(streamingDocument.getAttachmentId());
    } catch (err) {
        gs.log(err);
    } finally {
        streamingDocument.close();
    }