从内到外用xml编写表
我们倾向于将一个表看作一系列行(或一系列列)。作为证据,在HTML和LaTeX中,如果您正在创建一个表,那么您将逐行构建它,并在每一行中逐个单元格地构建它。如果有一些特殊功能,比如跨多个列或行的单元格,则必须特别注意该单元格的代码。你可以说,我们首先关注一个地址,然后用它来获取单元格内容。“第二行第三列是什么?啊,我明白了。” 我正在考虑以某种方式使用从内到外用xml编写表,xml,xslt,Xml,Xslt,我们倾向于将一个表看作一系列行(或一系列列)。作为证据,在HTML和LaTeX中,如果您正在创建一个表,那么您将逐行构建它,并在每一行中逐个单元格地构建它。如果有一些特殊功能,比如跨多个列或行的单元格,则必须特别注意该单元格的代码。你可以说,我们首先关注一个地址,然后用它来获取单元格内容。“第二行第三列是什么?啊,我明白了。” 我正在考虑以某种方式使用xml和xslt来实现这一点。我想把手机内容放在第一位,让内容导向地址。这就像看着表格中的某个单元格,然后左顾右盼,了解该内容的地址 我希望有xm
xml
和xslt
来实现这一点。我想把手机内容放在第一位,让内容导向地址。这就像看着表格中的某个单元格,然后左顾右盼,了解该内容的地址
我希望有xml
源代码,它应该是这样的:
<table>
<category-type-A id="plants">Plants you eat</category-type-A>
<category-type-A id="fruit" A="plants">Fruit</category-type-A>
<category-type-A id="veg" A="plants">Vegetables</category-type-A>
<category-type-B id="colors">Colors</category-type-B>
<category-type-B id="red" B="colors">Red</category-type-B>
<category-type-B id="green" B="colors">Green</category-type-B>
<cell A="fruit" B="red">Strawberry</cell>
<cell A="veg" B="red">Beet</cell>
<cell A="fruit" B="green">Guava</cell>
<cell A="veg" B="green">Broccoli</cell>
<cell A="fruit;veg" B="red">Tomato</cell>
<cell A="fruit" B="red;green">Apple</cell>
<cell A="fruit">Orange</cell>
</table>
我意识到,如果有两个单元格指向太多的类别,这将变得不可能。因此,让我们同意xml
作者不会让事情失控
有没有人已经“破解了这颗坚果”,为类似的东西想出了
xslt
?我没有要求任何人尝试为我编写一些xslt
。我想知道这是否是用xml
编写表的一种可行方法,我不知道如何衡量“可行”。这当然是可能的,如果你需要的话。然而,在我看来,您的源XML可以更好地结构化:我希望看到两个类别的层次(嵌套)列表,一个是水平的,一个是垂直的。然后每个单元格值将链接到两个原子类别(即上述树中的叶节点)请注意,这并不意味着XSLT的逻辑在编写实际表时必须遵循这一内部逻辑。还有一点需要注意:在一个包含三列的表中,一个值不可能跨越这三列的任何组合:它可以是a+B或B+C,但不能是a+C。这不仅仅是一个问题“让我们同意xml作者不会让事情失控“。这需要就列的顺序达成一致,以适应给定值。由于同样的限制也适用于行,因此很快就会出现无法管理的情况。因此,如果这是一项要求,我会说不,这是不可行的。@michael.hor257k谢谢您的想法。
Plants you eat
|---------------------|
| Fruit |Vegetables|
|--|---------------------|
|R |Strawberry|Beet |
|e |---------------------|
|d |Tomato |
| |---------------------|
C | |A | |
o | |p | |
l |--|p |----------|
o |G |l |Broccoli |
r |r |e | |
s |e |----------|----------|
|e |Guava |
|n | |
|--|----------|
| |Orange |
|--|----------|