0

首先,我对这些东西很陌生(比如,两天前刚开始的​​新东西)。我已经弄清楚如何从我的 XSL 文件中的 XML 文件生成表。我现在要做的是让它们正确对齐。现在,我使用了 <table> 的 align 属性来执行此操作,它完全按照我想要的方式工作,但我读到 align 属性在 HTML 4.01 中已被弃用。我读到在使用 HTML 时应该为此使用 CSS。

我目前的印象是在处理 XML 文件时应该使用 XSLT 而不是 CSS。因此,如果我不应该使用 align 属性,因为它应该在 CSS 中完成,但我不应该将 CSS 与 XML 一起使用,我应该怎么做?

在 XSLT 中使用 <table> 的 align 属性仍然是一个好习惯吗?

我正在尝试编写一个使用 XML 序列化文件的 Java 程序。我知道 Java 有一个内置的 Serializable 接口,但无论如何我都想这样做。最初,我正在创建自己的语法来执行此操作,但经过一些研究,我意识到我只是在重新发明 XML。这个 XSLT 项目是一种转移,但我认为它可能是一个方便的东西,因为它可以以更易读的方式显示 XML 文件。

我的 HTML 经验很少,而且基本上没有 CSS 经验。直到现在,我从来没有使用过这些东西。我以前也从未在该网站上发布过问题。

4

1 回答 1

1

tl;dr: Yes, it's a bad practice to use tables align attribute. You should use CSS instead.

I would:

  • Use XSLT to transform XML into HTML
  • Use CSS to style HTML document.

To do this, include in your XSLT sheet something like:

<xsl:template match="/">
  <html>
    <head>
      <link rel="stylesheet" href="style.css" />
 // ...

And then, put CSS into style.css to align tables.

To control table align, you could use this CSS, on example:

table {
  float: right;
}

Here is an example with inline CSS stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
        <style type="text/javascript">
          <xsl:text>
            table {
              float: right;
            }
          </xsl:text>
        </style>
      </head>
      <body>
        <table>
          <xsl:for-each select="/records/record">
            <tr>
              <td><xsl:value-of select="name"/></td>
              <td><xsl:value-of select="age"/></td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

It could be applied to this example document:

<records>
  <record>
    <name>Lorem</name>
    <age>32</age>
  </record>
  <record>
    <name>Ipsum</name>
    <age>65</age>
  </record>
</records>
于 2013-10-23T19:49:32.543 回答