2011-01-22 29 views
0

嗨,我正在用Java Servlets編寫測驗應用程序。我的測驗數據被寫入XML文件,即:<quiz><question><ask>...</ask><answer>...</answer>...</question></quiz>將XML輸出生成爲適合我的XSLT格式

我想在單個頁面上顯示每個問題及其答案。出於這個原因,我不能簡單地將XML轉換爲我的XSLT,因爲它只顯示第一個問題或所有問題。我的猜測是,我應該加載XML數據以創建我自己的Java類,即:class Question,class Quiz等,並根據它們生成符合我的XSLT的XML格式,一次只顯示一個問題。

這種方法是否正確,如果是這樣,這是如何實現的?

如果不是,它可能怎麼做?

+1

@BrockenClockwork:是不清楚你的問題是什麼,請學會詳細說明一個問題:什麼是XML文檔,轉換的期望結果是什麼,轉換必須遵守的規則是什麼。 – 2011-01-22 15:55:50

+0

一個非常令人困惑的問題。你似乎暗示你有「一個XSLT」(意思是,可能是一個樣式表),它不會完成你想要的工作。如果是這樣的話,那麼正確的做法是改變它,這樣做是正確的。 – 2011-01-22 16:32:34

回答

3

我不能簡單地轉換XML到我的XSLT,因爲這將只顯示第一個問題或所有問題。

你錯了。如果您使用模板和正確的XPath編寫XSLT,則轉換可以輸出一個XML文件中存在的所有問題,無論多少。

您還可以使用XPath來選擇特定的question節點,具體取決於屬性值(例如)。

如果你有下面的模板,並使用正確的XPath來選擇在apply-templates所有問題,這個模板將被應用到每個問題,不只是第一:

<xsl:template match="question"> 

</xsl:template>