HotDocs是一个生成文档的工具,基本上它包含两件事。首先是寺庙,第二是答案文件。模板携带变量和数据到那些变量被推送到答案文件。
一般来说,答案文件是页面,它要求数据,并进一步生成文档。
现在我们的要求是 - 不是通过应答文件传递变量的值,而是通过使用PHP构建的API发送,它提供JSON格式的数据。
HotDocs中是否有任何退出服务来提供此类请求?如果需要,我可以将数据从JSON更改为XML。
答案 0 :(得分:1)
目前没有从JSON到HotDocs Answer XML的现成转换器,但是在HotDocs,我们一直这样做。如果从应用程序生成JSON或XML,则需要将数据转换为HotDocs答案XML格式 - 例如
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AnswerSet title="Demo Answers" version="1.1">
<Answer name="Employee Name">
<TextValue>Graham Penman</TextValue>
</Answer>
<Answer name="Job Duty">
<RptValue>
<TextValue>make tea</TextValue>
<TextValue>make coffee</TextValue>
<TextValue>make some cake</TextValue>
</RptValue>
</Answer>
<Answer name="Annual Salary">
<NumValue>12.0000000</NumValue>
</Answer>
<Answer name="Contract Date">
<DateValue>10/10/2016</DateValue>
</Answer>
<Answer name="Paid Seminar Days">
<TFValue>false</TFValue>
</Answer>
</AnswerSet>
创建答案XML需要了解三个关键事项:数据的数据类型,HotDocs中的数据类型以及您传递的数据是列表还是单个项目。
因此,构建答案XML相对容易。
答案XML本质上是包含在开始和结束标记之间的键值对:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AnswerSet title="Demo Answers" version="1.1">
...Answers go here
</AnswerSet>
然后我们通过添加以下内容并在答案对应的模板中指定变量,要设置答案的实际值(来自数据)以及模板中的数据类型来添加答案 - 在下面的示例中,它是文本,但HotDocs中的类型是:TextValue(字符串),NumValue(十进制),TFValue(布尔值),DateValue(DateTime)和MCValue(请参阅本答复的后面部分)。
<Answer name="[Variable name in template]">
<TextValue>[Value from your data]</TextValue>
</Answer>
对于多种选择,您可以选择一个或多个答案,因此答案XML格式略有不同:
<Answer name="[Variable name in template]">
<MCValue>
<SelValue>[First selected value]</SelValue>
<SelValue>[Second selected value]</SelValue>
</MCValue>
</Answer>
如果您要将重复数据放入文档,则可以使用列表重复格式:
<Answer name="[Variable name in template]">
<RptValue>
<[Variable Type]>[First value]</[Variable Type]>
<[Variable Type]>[Second value]</[Variable Type]>
</RptValue>
</Answer>
构建此XML结构后,您可以将其作为字符串传递给REST服务上的汇编文档方法,并使用模板汇编相应的文档。