如何使用xslt从表行中的结构中获取值

时间:2014-01-22 13:43:27

标签: xslt xslt-2.0 xsl-fo

我有以下数据结构:
有一些表[n]。在每个表格单元格中,存在一些包含例如用户的字段,如:name,surename,address等。
有我的代码,我想从表格的第一个单元格中获取数据:

 <xsl:value-of select="//uf:field[@name='table']//uf:fv[1]//uf:address/uf:MIEJSCOWOSC" />

问题是,数据没有显示出来 我的选择中有一些问题。谁知道出了什么问题?

我的xml fiel的一部分包含相关数据:

<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.xxx.pl" xmlns:uf="http://www.xxx.pl">
<ApplicationData>
<complex>
<field name="table">
    <fv>
      <t.0>
        <address type="address">
          <KOD_POCZTOWY type="String">^KOD_POCZTOWY^</KOD_POCZTOWY>
          <KRAJ type="String">^KRAJ^</KRAJ>
          <MIEJSCOWOSC type="String">^MIEJSCOWOSC^</MIEJSCOWOSC>
          <NR_BUDYNKU type="String">^NR_BUDYNKU^</NR_BUDYNKU>
          <NR_LOKALU type="String">^NR_LOKALU^</NR_LOKALU>
          <TELEFON type="String">^TELEFON^</TELEFON>
          <TYP_ADRESU type="String">^TYP_ADRESU^</TYP_ADRESU>
          <TYP_ULICY type="String">^TYP_ULICY^</TYP_ULICY>
          <ULICA type="String">^ULICA^</ULICA>
          <ID type="String">^ID^</ID>
        </address>
      </t.0>
      <t.1>
        <address type="address">
          <KOD_POCZTOWY type="String">^KOD_POCZTOWY^</KOD_POCZTOWY>
          <KRAJ type="String">^KRAJ^</KRAJ>
          <MIEJSCOWOSC type="String">^MIEJSCOWOSC^</MIEJSCOWOSC>
          <NR_BUDYNKU type="String">^NR_BUDYNKU^</NR_BUDYNKU>
          <NR_LOKALU type="String">^NR_LOKALU^</NR_LOKALU>
          <TELEFON type="String">^TELEFON^</TELEFON>
          <TYP_ADRESU type="String">^TYP_ADRESU^</TYP_ADRESU>
          <TYP_ULICY type="String">^TYP_ULICY^</TYP_ULICY>
          <ULICA type="String">^ULICA^</ULICA>
          <ID type="String">^ID^</ID>
        </address>
      </t.1>
    </fv>
  </field>

我添加了我的xslt文件:

<encoding="utf-8"?>
<xsl:stylesheet version="2.0" 
xmlns:uf="http://www.xxx.pl" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
xmlns:ibex="http://www.xmlpdf.com/2003/ibex/Format" 
exclude-result-prefixes="xsl msxsl uf"
>
  <xsl:include href="../subs/xxx.xslt"/>
  <xsl:include href="../subs/xxxx.xslt"/>
  <xsl:output method="xml" indent="yes" encoding="utf-8"/>
  <xsl:variable name="line-height" select="18"/>
  <xsl:template match="/">
    <fo:root>
      <xsl:call-template name="layout-master-set">
        <xsl:with-param name="margin_TB" select="'0cm'"/>
        <xsl:with-param name="margin_LR" select="'0cm'"/>
        <xsl:with-param name="header_extent" select="'5.25cm'"/>
        <xsl:with-param name="footer_extent" select="'5.25cm'"/>
      </xsl:call-template>
      <fo:page-sequence master-reference="default">
        <fo:flow flow-name="body" line-height="12.0pt" font-family="Trebuchet MS" font-size="10.0pt">
             <fo:block text-align-last="justify">
                  <fo:inline font-weight="normal">text</fo:inline>
                  <fo:leader leader-pattern="space" />
              <fo:inline font-weight="normal">City</fo:inline> 
            </fo:block>
             <fo:block font-weight="bold" font-size="8pt">
            </fo:block>
                    <fo:block font-size="8pt" />
                    <fo:block font-size="8pt" margin-left="11.11cm" />
                    <fo:block font-size="8pt" margin-left="11.11cm" />
                    <fo:block font-size="8pt" margin-left="11.11cm">  
                      <xsl:value-of select="//uf:field[@name='table']//uf:fv[1]//uf:address//uf:MIEJSCOWOSC" />
</fo:block>

1 个答案:

答案 0 :(得分:0)

有一种非常奇怪的情况,但昨天没有工作的代码,今天有效; /
如果您遇到像我这样的问题,请重启机器;]

相关问题