Altova RaptorXML+XBRL Server 2024

Q: Je veux écrire un script Python qui crée une nouvelle instance XML, un élément à la fois, pendant qu'il s'exécute à l'intérieur du serveur raptor. Ceux-ci doivent être sérialisés vers la sortie avec différents encodages et formatages dépendant des paramètres. Est-ce possible dans %APPNAME%> ?

 

A: Non, ceci n'est actuellement pas possible parce que nous ne disposons pas d'API pour créer des instances XML arbitraires. Toutefois, quand il s'agit de générer des instances XBRL, nous avons un API qui gère de nombreux détails techniques (tels qu'éviter d'écrire des doublons de contextes/unités, et bien plus). Voir https://www.altova.com/manual/en/raptorapi/pyapiv2/2.9.0/html/xbrl.InstanceDocumentBuilder.html pour plus d’information.

 

Q: J'aimerais utiliser lxml. Est-ce que je peux installer les bibliothèques lxml dans le dossier Python sous « RaptorXMLXBRLServer2024/lib/ » ?

 

A: Vous pouvez installer directement la plupart des modules Python en exécutant la commande suivante dans un terminal qui a des droits d'administrateur :

 

"/path/to/RaptorXML/application-folder/bin/RaptorXMLXBRL-python.exe" -m pip install lxml

 

Q: Est-ce que je peux créer un grand string qui contient l'instance XML, pour parser ensuite le tout et le resérialiser ?

 

A: C'est une possibilité. Vous pouvez parser et valider des instances XML et XBRL depuis un tampon de chaînes utilisant un API Python comme suit :

 

from altova_api.v2 import xml

txt = '''<?xml version="1.0" encoding="utf-8"?>

<doc>

    <elem attr="foo">bar</elem>

</doc>'''

inst = xml.Instance.create_from_buffer(txt.encode('utf-8')).result

print(inst.serialize())

 

© 2018-2024 Altova GmbH