我想根据 SharePoint 列表中存储的数据生成一些报告。可以使用 Web 服务查询列表并以 xml 数据格式检索数据。
例如,使用以下curl
命令向我的 SharePoint 网站发送请求
curl --ntlm --user "user:pass" -H "Content-Type: text/xml;charset=UTF-8" --data @request.txt --output answer.txt http://intranet/_vti_bin/lists.asmx
使用request.txt
包含
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>Test</listName>
<query>
<Query>
<Where>
<IsNotNull>
<FieldRef Name="Title" />
</IsNotNull>
</Where>
</Query>
</query>
<viewFields>
<ViewFields>
<FieldRef Name='Title' />
<FieldRef Name='Day' />
</ViewFields>
</viewFields>
<QueryOptions>
<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>
<ViewFieldsOnly>TRUE</ViewFieldsOnly>
</QueryOptions>
</GetListItems>
</soap12:Body>
</soap12:Envelope>
从 SharePoint 中的测试列表中返回答案:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<GetListItemsResult>
<listitems
xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<rs:data ItemCount="3">
<z:row ows_Title='Yesterday' ows_Day='2014-04-13 00:00:00' />
<z:row ows_Title='Today' ows_Day='2014-04-14 00:00:00' />
<z:row ows_Title='Tomorrow' ows_Day='2014-04-15 00:00:00' />
</rs:data>
</listitems>
</GetListItemsResult>
</GetListItemsResponse>
</soap:Body>
</soap:Envelope>
是否可以直接从 LuaLaTeX 发送这样的请求并将响应作为排版过程的一部分进行处理?我知道我可以使用包将请求写入文件filecontents
并将调用curl
包装进去,\immediate\write18{curl ...}
但我想知道是否存在更好的方法可以利用 LuaLaTeX 的附加功能?
我从 Google 上发现 LuaTeX 已luasocket
内置,并且luaxml
从odsfile
包来看似乎也相关。但是,我不知道如何开始使用这些工具。因此我的问题是:是否可以查询 SharePoint 列表(或以 xml 格式返回数据的其他 Web 服务)并使用 LuaLaTeX 解析结果?