Formatos de los parámetros de fórmula
Los parámetros de fórmula pueden estar en formato XML o en formato JSON.
Formato XML
El ejemplo de código que aparece a continuación muestra parámetros de fórmula en formato XML.
<?xml version="1.0" encoding="utf-8"?>
<options:formula-parameters
xmlns:options="https://www.altova.com/schemas/altova/raptorxml/options"
xmlns:p="http://xbrl.org/formula/conformance/paramstuff"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.altova.com/schemas/altova/raptorxml/options https://www.altova.com/schemas/altova/raptorxml/options.xsd">
<options:parameter name="p1">
<options:value type="xs:string">hello world from new xml (without namespace)</options:value>
</options:parameter>
<options:parameter name="p:p1" type="xs:string" value="hello world from new xml"/>
</options:formula-parameters>
Observe estos aspectos del ejemplo:
•El atributo @type es opcional y toma el valor predeterminado xs:string.
•Se pueden indicar varios elementos secundarios <options:value> para asignar una secuencia XPath a un parámetro.
•No se pueden usar @value y <options:value> al mismo tiempo.
Formato JSON
El ejemplo de código que aparece a continuación muestra parámetros de fórmula en formato JSON.
{
"formula-parameters": [
{
"name": "p1",
"values": [
{
"type": "xs:string",
"value": "hello world from json new (without namespace)"
}
]
}, {
"name": "ns1:p1",
"values": [
{
"type": "xs:string",
"value": "hello world from json new"
}
]
}
],
"namespaces": {
"xs": "http://www.w3.org/2001/XMLSchema",
"ns1": "http://xbrl.org/formula/conformance/paramstuff"
}
}
Observe estos aspectos del ejemplo:
•La clave type es opcional y toma el valor predeterminado xs:string.
•La clave xs es opcional y toma el valor predeterminado http://www.w3.org/2001/XMLSchema.
•El tipo de la asignación de parámetros se usa si un valor se especifica como cadena JSON directamente.
•También se puede usar :
{
"name": "p2",
"type": "xs:string",
"value": "hello world from json new (without namespace)"
}, {
"name": "p3",
"type": "xs:int",
"values": ["1", "2"]
}, {
"name": "p4",
"type": "xs: int",
"values": ["1", {"type": "xs:string", "value": "abc"}, "2"]
}