2

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

这是我的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>

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

POS 名称 POS ID
商场00001
商场 2 00002
商场 3 00003
4

1 回答 1

2

请参阅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/>
于 2013-11-07T09:00:05.923 回答