如何使用 xsl 创建表



我是XSL和XML的新手。我试图制作一个包含可以生成到 html 文件中的名称和 ID 的表,但是当我尝试运行它时,没有输出。

这是我的 xml 代码:

  <Column Description="POS Name"/>
  <Column Description="POS ID"/>
</Columns>
<Row>
  <POS Name>Mall 1</POS Name>
  <POS ID>00001</POS ID>
</Row>
<Row>
  <POS Name>Mall 2</POS Name>
  <POS ID>00002</POS ID>
</Row>
<Row>
  <POS Name>Mall 3</POS Name>
  <POS ID>00003</POS ID>
</Row>

这是我的xsl代码:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://homecredit.net/homerselect/ws/incomingPayments/dto" version="1.0">
   <xsl:output method="html" indent="yes" standalone="yes" />
   <xsl:template match="/">
      <xsl:element name="POS">
         <xsl:attribute name="lang">en</xsl:attribute>
         <xsl:element name="head">
            <xsl:element name="title">POS</xsl:element>
         </xsl:element>
         <xsl:element name="table">
            <xsl:attribute name="border">1</xsl:attribute>
            <xsl:element name="tr">
               <xsl:element name="th">POS NAME</xsl:element>
               <xsl:element name="th">POS ID</xsl:element>
            </xsl:element>
            <xsl:element name="tr">
               <xsl:element name="td">Mall</xsl:element>
               <xsl:element name="td">00001</xsl:element>
            </xsl:element>
            <xsl:element name="tr">
               <xsl:element name="td">Mall 2</xsl:element>
               <xsl:element name="td">00002</xsl:element>
            </xsl:element>
            <xsl:element name="tr">
               <xsl:element name="td">Mall 3</xsl:element>
               <xsl:element name="td">00003</xsl:element>
            </xsl:element>
         </xsl:element>
      </xsl:element>
   </xsl:template>
</xsl:stylesheet>

我需要的最终输出是这样的

收银机名称 收货机 ID商城 00001商场 2 00002商场 3 00003

参见 http://zvon.org/xxl/XSLTutorial/Output/

XSLT 用于将一个 XML 文档转换为另一个文档。为此,它匹配部分输入并将选定的部分发送到输出,并在需要时对其进行操作。

如果您没有输入,请使用包含<dummy/>和以下 xslt 的虚拟文件供初学者使用:-

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
        <head>
        <title>POS</title>
        </head>
        <table>
        </table>
    </xsl:template>
</xsl:stylesheet>

在我的基于 unix 的系统上,这给出了:-

% xsltproc test.xslt in.xml 
<?xml version="1.0"?>
<head><title>POS</title></head><table/>

最新更新