2011-03-07 46 views
0

我有一個xml文件,它應該只包含數據和一個用於驗證和構建頁面的xsd文件。換句話說,我將xsl應用於xsd,但同時我從xml中獲取了字段的值(至少這是我想要的)。合併XML和XSD然後應用XSL

將xsl應用於xsd不是問題。但它只有當我正常從瀏覽器調用「sample.xsd」文件時纔有效,這不是我想要的。我想調用「sample.xml」,並創建一個根據xsd文件和xml中的值構造的html輸出。

更多說明:

認爲我有一個XML文件。並且在其中定義了XSLT和XSD文件。當我從瀏覽器調用這個XML文件時,我想要應用樣式 - 讓我說創建html輸出(如:根據此XSD文件中的預定義節點創建輸入字段) - 到XSD文件,然後將值從XML文件。最後談到這一點:我想將XSLT應用於XML(讀取數據)和XSD(創建輸出)。可能嗎?

+0

對不起,你的問題還不夠清楚。請更準確地說明你在做什麼(例如,你是否在瀏覽器中進行XSLT轉換,如果是,如何以及使用哪種瀏覽器);究竟發生了什麼,你想發生什麼? –

+0

@Michael Kay我更新了這個問題。我希望我能更多地解釋我的問題 – savruk

+0

事實上,這個難以理解的問題對任何人都無濟於事。 – 2011-03-08 21:45:48

回答

0

無論我找到什麼東西來解決它。

通過適當的命名空間,你可以使用文件()函數XSLT文件中,並應用XPath的-or不管它是 - 它,如:

<xsl:for-each select="document('sample.xsd')/xs:schema/xs:complexType[@name='fieldtype']/xs:choice/child::*"> 
     <xsl:value-of select="@name"/> 
</xsl:for-each> 

而且還可以使用XML文件的其他情形。我希望這可以幫助別人