XSLT-使用单个XML创建动态网格

XSLT-使用单个XML创建动态网格,xml,xslt,xslt-1.0,xslt-2.0,Xml,Xslt,Xslt 1.0,Xslt 2.0,我正在使用xslt创建动态表(网格) 我是XSLT的初学者,在此之前我也提出了一个问题,它是 请参考,, 在上面的问题上,我对列和行使用2个XML,但在这里我只尝试一个XML(行)。 您可以通过2个XML部分找到关于上述问题的XSLT XML数据: <TableData> <Rows> <Row ID="0" Name="A" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>

我正在使用xslt创建动态表(网格)

我是XSLT的初学者,在此之前我也提出了一个问题,它是 请参考,, 在上面的问题上,我对列和行使用2个XML,但在这里我只尝试一个XML(行)。
您可以通过2个XML部分找到关于上述问题的XSLT

XML数据:

<TableData>        
    <Rows>
        <Row ID="0" Name="A" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>
        <Row ID="1" Name="B" Desc="Some description" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>
        <Row ID="3" Name="C" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>
    </Rows>
</TableData>
<table border="1">
    <tbody>
        <tr>
            <th>
                <a onclick="javascript:SortColumn('Item Name')">Item Name</a>
            </td>
            <th>
                Item Description</td>
        </tr>
        <tr>
            <td width="50%">
                <a onclick="javascript:OpenDifferentPage('A','0')">A</a>
            </td>
            <td width="50%"></td>
        </tr>
        <tr>
            <td width="50%">B</td>
            <td width="50%">Some description</td>
        </tr>
        <tr>
            <td width="50%">C</td>
            <td width="50%"></td>
        </tr>
    </tbody>
</table>

预期输出:

<TableData>        
    <Rows>
        <Row ID="0" Name="A" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>
        <Row ID="1" Name="B" Desc="Some description" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>
        <Row ID="3" Name="C" Link-Name="Yes" Hide-ID="Yes" Sort-Name="Yes"/>
    </Rows>
</TableData>
<table border="1">
    <tbody>
        <tr>
            <th>
                <a onclick="javascript:SortColumn('Item Name')">Item Name</a>
            </td>
            <th>
                Item Description</td>
        </tr>
        <tr>
            <td width="50%">
                <a onclick="javascript:OpenDifferentPage('A','0')">A</a>
            </td>
            <td width="50%"></td>
        </tr>
        <tr>
            <td width="50%">B</td>
            <td width="50%">Some description</td>
        </tr>
        <tr>
            <td width="50%">C</td>
            <td width="50%"></td>
        </tr>
    </tbody>
</table>

项目名称
项目说明
A.
B
一些描述
C
我是XSLT的初学者

我想在这里检查,如果“Link Name”attribute=“yes”,那么我需要在锚定标记(Name)之间显示数据

我将在本专栏中创建许多复杂的功能。因此,我可以在这里为用于在网格上显示的列的特定属性制作模板,其他属性用于数据目的(列为15,但这取决于用户选择,如果用户选择8列进行显示,并且必须保持属性的顺序) 我已经准备好为所有列创建预定义模板。 那对我来说可能吗


感谢您的期待

对不起,我不明白您到底在问什么/您的问题是什么简单地说,我需要XML数据的预期输出。您说“列是15,但它取决于用户选择”,但如果列没有出现在XML中,您如何知道这些列是什么?列是15,我设置了一个选项,用户可以选择他们需要的列,还可以在另一个存储在数据库中的模块中设置列的顺序。我正在从数据库中获取XML。如果用户有select 5列,XML(行)将有5列属性和其他属性,如“Hide ID”,在XML中也可用(其他属性为其他功能设置)。我知道XSLT中所有15列的名称,这是固定的,但在XSLT中我不知道它的顺序。如果你明白了,请告诉我。在你的输入XML中,所有三行都有Link Name=“Yes”,那么为什么你希望只有一个Name=“A”行的锚?特别是,为什么行“a”和“C”之间的输出存在差异?除了他们的名字和身份证他们是一样的。。。