gpt4 book ai didi

xml - 生成 pdf 以记录 XSLT 中的数据库

转载 作者:行者123 更新时间:2023-12-04 05:02:41 26 4
gpt4 key购买 nike

我有一个与数据库相关的 XML,必须生成一个 PDF 来记录数据库。我正在使用 FOP 将 XSLT 转换为 PDF。

XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sql-catalog xmlns="http://www.abc.com">
<schemas>
<schema name="abc>
<tables>
<table name="tab123" degree="1" type="TABLE" rows="144">
<columns>
<column name="asd" nullable="true" order="1" sqlType="CHARACTER VARYING" sqlLength="255" fixedLength="2"/>
<column name="pqr" nullable="true" order="2" sqlType="CHARACTER VARYING" sqlLength="255" fixedLength="2"/>
</columns>
<constraints/>
<datafiles>
<datafile href="abc.txt" checksum="6ba3a161d5" size="12354" format="FIXED" valid="true" recordTerminator="&#xD;&#xA;" checksumtype="MD5" rows="905"/>
</datafiles>
</table>
</tables>
</schema>
</schemas>
</sql-catalog>

我必须显示表名、列数和列名。我在 XSLT 中编写了以下内容。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:ex="http://exslt.org/dates-and-times" extension-element-prefixes="ex" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ora="http://www.oracle.com/XSL/Transform/java/" xmlns:xdofo="http://xmlns.oracle.com/oxp/fo/extensions" xmlns:xdoxslt="http://www.oracle.com/XSL/Transform/java/oracle.apps.xdo.template.rtf.XSLTFunctions" xmlns:xdoxliff="urn:oasis:names:tc:xliff:document:1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:cat="http://www.abc.com">
<xsl:output method="xml" encoding="ISO-8859-1"/>
<xsl:template match="cat:sql-catalog">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="A4" page-height="297mm" page-width="210mm" margin-left="2cm" margin-right="2cm" margin-top="2.0cm" margin-bottom="1.0cm">
<fo:region-body/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="A4">
<fo:static-content flow-name="xsl-region-after" font-size="8pt">
<fo:block text-align="right">
<fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<fo:block font-weight="bold" font-size="8pt" space-after="0.5cm">
<xsl:value-of select="cat:schemas/schema/tables/table/@name" />
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>

在代码中,我试图显示属性中表的名称,但它似乎不起作用。任何人都可以告诉我我哪里出错了吗?以及如何计算表中的列数。

最佳答案

您需要在 XPath 表达式中的每个元素名称前加上 cat 前缀。命名空间。尝试:

<xsl:value-of select="cat:schemas/cat:schema/cat:tables/cat:table/@name"/>

关于xml - 生成 pdf 以记录 XSLT 中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com