- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我使用 XML 将数据提供给 InDesign 模板,并且正在从旧的、更简单的设置(Excel 电子表格中的映射单元格)切换到 FileMaker Pro。 FileMaker Pro 以与 InDesign 文档中已建立的 XML 结构略有不同的格式导出 XML。
从 FileMaker Pro 导出 XML 时,我可以选择使用 XSL 样式表,但我不知道如何创建一个(我发现的教程似乎含糊不清,或者假设我已经知道我不知道的事情).
FileMaker Pro 导出如下所示:
<?xml version="1.0" encoding="UTF-8" ?><!-- This grammar has been deprecated - use FMPXMLRESULT instead --><FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult"><ERRORCODE>0</ERRORCODE>
<DATABASE>Projects.fmp12</DATABASE>
<LAYOUT></LAYOUT>
<ROW MODID="1" RECORDID="2">
<Project_name></Project_name>
<City_1></City_1>
<Size></Size>
<Building></Building>
<City_2></City_2>
<Completion></Completion>
<Scope_of_work></Scope_of_work>
<Description></Description>
</ROW>
我需要为每条记录编写一个样式表,以便导出的 XML 与此结构匹配:
<project>
<project_title>
<name></name>
<city_1></city_1>
</project_title>
<project_information>
<size></size>
<building></building>
<city_2></city_2>
<completion></completion>
<scope_of_work></scope_of_work>
</project_information>
<description></description>
</project>
如有任何建议,我们将不胜感激。
最佳答案
您没有指定结果 XML 的外部节点是什么样的,或者它是否使用 namespace ,但这是怎么回事:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fm="http://www.filemaker.com/fmpdsoresult" exclude-result-prefixes="fm">
<xsl:output method="xml" indent="yes"/>
<xsl:variable name="rename">
<item from="Project_name" to="name" />
<item from="City_1" to="city_1" />
<item from="Size" to="size" />
<item from="Building" to="building" />
<item from="City_2" to="city_2" />
<item from="Completion" to="completion" />
<item from="Scope_of_work" to="scope_of_work" />
<item from="Description" to="description" />
</xsl:variable>
<xsl:template match="/*">
<root>
<xsl:apply-templates select="fm:ROW"/>
</root>
</xsl:template>
<xsl:template match="fm:ROW">
<project>
<project_title>
<xsl:apply-templates select="fm:Project_name | fm:City_1" mode="rename" />
</project_title>
<project_information>
<xsl:apply-templates
select="fm:size | fm:Building | fm:City_2 | fm:Completion | fm:Scope_of_work"
mode="rename" />
</project_information>
<xsl:apply-templates select="fm:Description" mode="rename" />
</project>
</xsl:template>
<xsl:template match="*" mode="rename">
<xsl:element name="{document('')//xsl:variable[@name = 'rename']/item[@from = local-name(current())]/@to}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
在此输入上运行时:
<FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult">
<ERRORCODE>0</ERRORCODE>
<DATABASE>Projects.fmp12</DATABASE>
<LAYOUT></LAYOUT>
<ROW MODID="1" RECORDID="2">
<Project_name>The best project</Project_name>
<City_1>New York</City_1>
<Size>3</Size>
<Building>Chrysler</Building>
<City_2>Los Angeles</City_2>
<Completion>2012-10-12</Completion>
<Scope_of_work>Big</Scope_of_work>
<Description>A fun project</Description>
</ROW>
<ROW MODID="1" RECORDID="2">
<Project_name>A pretty good project</Project_name>
<City_1>Chicago</City_1>
<Size>4</Size>
<Building>30 Fake St.</Building>
<City_2>Charlotte</City_2>
<Completion>2013-02-03</Completion>
<Scope_of_work>Medium</Scope_of_work>
<Description>A serious project</Description>
</ROW>
</FMPDSORESULT>
产生这个:
<root>
<project>
<project_title>
<name>The best project</name>
<city_1>New York</city_1>
</project_title>
<project_information>
<building>Chrysler</building>
<city_2>Los Angeles</city_2>
<completion>2012-10-12</completion>
<scope_of_work>Big</scope_of_work>
</project_information>
<description>A fun project</description>
</project>
<project>
<project_title>
<name>A pretty good project</name>
<city_1>Chicago</city_1>
</project_title>
<project_information>
<building>30 Fake St.</building>
<city_2>Charlotte</city_2>
<completion>2013-02-03</completion>
<scope_of_work>Medium</scope_of_work>
</project_information>
<description>A serious project</description>
</project>
</root>
关于xml - 创建 XSL 样式表以管理 FileMaker Pro XML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468350/
我正在使用 FileMaker 11 并尝试进行搜索,该搜索将仅显示自昨天以来已修改或添加的那些记录。我正在尝试使用 Modification_timestamp 字段(我认为这是一个内置的 FM 字
这可能是一个非常简单的问题,但我遇到了一些麻烦。我在文本字段中有一些信息,以 firstname.lastname 的形式记录 UserID。出于报告目的,我需要将该数据拆分为 2 个新字段(分别创建
我的 FileMaker Pro 数据库中有一个字段,其中包含以分号分隔的数据,因此我想做的是将该数据分离到一个新表中。如果有人能指出我正确的方向,那会有所帮助 最佳答案 一种方法是编写一个脚本,将文
我想在字段更改时运行脚本,并且我认为可以使用脚本触发器。 Bu 我不知道如何.. 有人可以帮忙吗? 最佳答案 编写脚本。 在编辑模式下,右键单击一个字段并选择“设置脚本触发器...” 如果您希望脚本在
大家好,我已经声明了一个具有 2 次重复的全局变量, 设置变量 [$$arr[2];value:"9557878322"] 据我所知,我已经用 2 次重复声明了它,因此它应该最多存储两个值,但是当
有一项服务正在运行,它监视服务器上文件夹中的文件。每当将文件复制到此文件夹时,都会移动文件并通过 ODBC 连接将记录写入 filemaker pro 数据库。在同一个过程中,我需要新创建行的 ID
是否可以使用 FileMaker ODBC 驱动程序处理 FP7 文件而无需实际安装 FileMaker? 我似乎无法让它工作,除非我打开 FileMaker,并打开数据库文件。 我定期需要将 FP7
我的客户在FileMaker Pro中维护了数据库,现在我必须将此数据库移动到另一个数据库,即Salesforce,他们为我提供了FileMaker Pro的ODBC,我想以excel或csv形式导出
Filemaker Pro 13,使用 Windows 10 版本。该数据库可在 Mac 和 Windows 计算机上使用。 我有一个计算字段,它检测另一个字段的字符串值来定义自己。 Field 1:
Filemaker Pro 13,使用 Windows 10 版本。该数据库可在 Mac 和 Windows 计算机上使用。 我有一个计算字段,它检测另一个字段的字符串值来定义自己。 Field 1:
首先,我是 FM 新手,但我对基础知识有很好的掌握。我需要做的是 - 在联系信息类型布局中,我希望能够根据特定字段更改布局。前任。当记录被调出时,布局的背景将为客户改变颜色,为供应商改变另一种颜色,等
假设我有两个表,A 和 B。A 有一个 ID 字段,B 有一个 ID、值和标题字段。这两个 ID 字段是相关的,因此 A 和 B 之间是一对多的关系。 我想要做的是在 A 中添加一个计算字段,以从相关
我有一个门户显示来自 GJ(普通期刊)的相关记录。它在门户内有两个字段。第一个字段是 DebitTitle,保存在该字段中的记录是“Cash in Bank”和“Inventory”。第二个字段是De
任何人都可以建议我引导我访问一个网站,该网站解释了解决此问题的最佳方法,我确信我可以投入大量时间来解决这个问题,但只是寻找一个快速开始。我也不想使用迁移工具,因为我只想将 fmp xml 文件放在服务
我目前正在使用 FileMaker 及其 PHP API,我必须从网站搜索、插入和更新数据库条目。 我真的只是有一个简短的问题。在使用 FileMaker 数据库时,是否有任何我应该关注的特定安全问题
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我有一个 ASP.Net 应用程序需要显示存储在 Filemaker 容器字段中的图像。我的查询语句如下所示: SELECT GetAs(Image, 'JPG') FROM UA_Item_Pict
是否有可用的现有 Filemaker 版本控制解决方案?我正在研究两个共享脚本和自定义函数的不同 FM 项目。更新两个 FM 文件正在成为一场噩梦。有人知道任何解决方案或对我有任何建议吗? 我听说人们
是否有 FileMaker(11 Advanced)原生方法在脚本中获取客户端的计算机名称?在显示连接到数据库的客户端时,FileMaker 服务器中显示的计算机名称会很好。 目的:我希望 filem
我想在 filemaker 中编写一个脚本,如果某个条目的 table::field = 1 则返回 true,否则返回 false。我该怎么做? 最佳答案 脚本可以通过退出脚本步骤返回一个值。要返回
我是一名优秀的程序员,十分优秀!