XMLStreamingAPI - Dans le champ d’application
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.
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.
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 :
- XMLStreamingBuilder() : instancie l’objet XMLStreamingBuilder.
- 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.
- 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().
- 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 :
- startDocument() : crée l’élément parent de niveau supérieur dans le document XML.
- Méthodes permettant de générer des éléments enfants dans le document XML, telles que writeTextElement(),startElement() et writeArray().
- Méthodes permettant de générer des attributs pour un élément, telles que writeAttribute(),writeNamespace() et writeDtd().
- endElement() : ferme un élément XML.
- endDocument : ferme l’élément parent de niveau supérieur.
- getXMLString() ou getAttachmentId() : renvoie la chaîne XML ou l’ID de pièce jointe que vous avez créé.
- 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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 la méthode startElement() pour ajouter une balise de départ.
- Utilisez la méthode endElement() pour ajouter la balise de fermeture.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| 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 : |
| 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 la méthode startElement() pour ajouter une balise de départ.
- Utilisez la méthode endElement() pour ajouter la balise de fermeture.
| 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 : |
| 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. |
| 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.
| 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 . |
| 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é.
| 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. |
| 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é.
| 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 : |
| 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.
| Nom | Type | Description |
|---|---|---|
| données | Chaîne | Valeur à inclure après le mot clé CDATA dans votre élément CDATA. |
| 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.
| 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 : Vous devez associer le préfixe d’un élément XML à un espace de noms à l’aide de writeNamespace(). |
| 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.
| Nom | Type | Description |
|---|---|---|
| Texte | Chaîne | Texte à ajouter à une section de votre document XML. |
| 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.
| Nom | Type | Description |
|---|---|---|
| commentaire | Chaîne | Texte du commentaire à inclure. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Dtd | Chaîne | Nom d’une définition de type de document XML valide. |
| 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é.
| 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. |
| 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é.
| 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 : |
| 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.
| 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 : Vous devez associer le préfixe d’un élément XML à un espace de noms à l’aide de writeNamespace(). |
| 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();
}