HotDocs工具中是否有任何现有服务可以从外部源接收数据以准备文档?

时间:2017-03-15 08:38:43

标签: api document documentation-generation

HotDocs是一个生成文档的工具,基本上它包含两件事。首先是寺庙,第二是答案文件。模板携带变量和数据到那些变量被推送到答案文件。

一般来说,答案文件是页面,它要求数据,并进一步生成文档。

现在我们的要求是 - 不是通过应答文件传递变量的值,而是通过使用PHP构建的API发送,它提供JSON格式的数据。

HotDocs中是否有任何退出服务来提供此类请求?如果需要,我可以将数据从JSON更改为XML。

1 个答案:

答案 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服务上的汇编文档方法,并使用模板汇编相应的文档。