用于 Filemaker pro XML 导出的 XSL 样式表
XSL stylesheet for a Filemaker pro XML export
我正在为 filemaker pro XML 导出创建样式表,但是当我在浏览器中加载它时,输出没有呈现。我已经用其他样本 XML 数据测试了 XSL 代码,它在浏览器中呈现良好,但它不适用于 filemaker pro 格式。任何建议将不胜感激。
我的 XML 文件如下所示:
<?xml version="1.0" encoding="UTF-8" ?><!-- This grammar has been deprecated - use FMPXMLRESULT instead -->
<?xml-stylesheet version="1.0" href="style.xsl" type="text/xsl"?>
<FMPDSORESULT>
<ERRORCODE>0</ERRORCODE>
<DATABASE>Database.fmp12</DATABASE>
<LAYOUT>Manage Parts</LAYOUT>
<ROW MODID="177" RECORDID="2104">
<Code>T034-00596</Code>
<Description>INFO GUIDE</Description>
<Size>2</Size>
<Units>/1</Units>
<Price>5</Price>
</ROW>
<ROW MODID="178" RECORDID="2105">
<Code>T034-00597</Code>
<Description>INFO GUIDE</Description>
<Size>2</Size>
<Units>/3</Units>
<Price>4</Price>
</ROW>
<ROW MODID="177" RECORDID="2104">
<Code>T034-00598</Code>
<Description>INFO GUIDE</Description>
<Size>2</Size>
<Units>/2</Units>
<Price>6</Price>
</ROW>
</FMPDSORESULT>
这是我的 XSL 文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/FMPDSORESULT">
<html>
<Head>
… header omitted for brevity …
</Head>
<body>
<xsl:for-each select="ROW">
<h1><xsl:value-of select="Code" /></h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
那是不是 FileMaker 导出的样子。 FileMaker 将导出的节点放在它自己的 命名空间 :
中
<FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult">
您的样式表必须声明此命名空间,为其分配一个前缀并使用此前缀来寻址 XML 来源中的元素:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fmp="http://www.filemaker.com/fmpdsoresult"
exclude-result-prefixes="fmp">
<xsl:template match="/fmp:FMPDSORESULT">
<html>
<head>
… header omitted for brevity …
</head>
<body>
<xsl:for-each select="fmp:ROW">
<h1><xsl:value-of select="fmp:Code" /></h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我正在为 filemaker pro XML 导出创建样式表,但是当我在浏览器中加载它时,输出没有呈现。我已经用其他样本 XML 数据测试了 XSL 代码,它在浏览器中呈现良好,但它不适用于 filemaker pro 格式。任何建议将不胜感激。
我的 XML 文件如下所示:
<?xml version="1.0" encoding="UTF-8" ?><!-- This grammar has been deprecated - use FMPXMLRESULT instead -->
<?xml-stylesheet version="1.0" href="style.xsl" type="text/xsl"?>
<FMPDSORESULT>
<ERRORCODE>0</ERRORCODE>
<DATABASE>Database.fmp12</DATABASE>
<LAYOUT>Manage Parts</LAYOUT>
<ROW MODID="177" RECORDID="2104">
<Code>T034-00596</Code>
<Description>INFO GUIDE</Description>
<Size>2</Size>
<Units>/1</Units>
<Price>5</Price>
</ROW>
<ROW MODID="178" RECORDID="2105">
<Code>T034-00597</Code>
<Description>INFO GUIDE</Description>
<Size>2</Size>
<Units>/3</Units>
<Price>4</Price>
</ROW>
<ROW MODID="177" RECORDID="2104">
<Code>T034-00598</Code>
<Description>INFO GUIDE</Description>
<Size>2</Size>
<Units>/2</Units>
<Price>6</Price>
</ROW>
</FMPDSORESULT>
这是我的 XSL 文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/FMPDSORESULT">
<html>
<Head>
… header omitted for brevity …
</Head>
<body>
<xsl:for-each select="ROW">
<h1><xsl:value-of select="Code" /></h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
那是不是 FileMaker 导出的样子。 FileMaker 将导出的节点放在它自己的 命名空间 :
中<FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult">
您的样式表必须声明此命名空间,为其分配一个前缀并使用此前缀来寻址 XML 来源中的元素:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fmp="http://www.filemaker.com/fmpdsoresult"
exclude-result-prefixes="fmp">
<xsl:template match="/fmp:FMPDSORESULT">
<html>
<head>
… header omitted for brevity …
</head>
<body>
<xsl:for-each select="fmp:ROW">
<h1><xsl:value-of select="fmp:Code" /></h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>