使用xmlns:something="..."
聲明XML 命名空間。這樣的名稱空間僅僅是一個字符串,這將有助於將元素名稱的唯一含義賦予像template
或href
這樣的元素名稱,從而確保可以在單個文檔中使用多種基於XML的語言,而不會對其含義造成混淆。
其中一些命名空間預留給了W3C使用。 XSLT命名空間就是其中之一。一個合適的XSLT處理器將檢查樣式表是否聲明瞭正確的名稱空間,以確保不會有不正確的解釋。樣式表的根元素應該位於該XSLT名稱空間中。
對於實際命名空間值,你通常有一個URI(和最常見的是URL),因爲這通常是一個不錯的唯一標識符。但是,這個不應該用於在XML處理過程中實際解析任何在線資源。儘管HTTP URL通常以不區分大小寫的方式處理,並且可能使用字符的URL編碼(例如,空格變爲%20
),但在XML名稱空間處理中不會檢查URL的這種解析或相等性。 XML中的命名空間不過是一個總是以確切形式,大小寫以及所有內容進行檢查的字符串。
所以,如果一個XSLT處理器抱怨說,在URL一些資源不能被發現,那麼無論它做什麼它不應該這樣做,或者問題無關命名空間的處理。
您使用的撒克遜人,其中大部分是絕對不會不理解命名空間的概念的處理器。它的父親是Michael Kay,他也負責XSLT 2.0規範。但是Saxon確實支持模式感知XSLT處理。如果一個文檔指定了一個模式位置,那麼使用這個進行驗證的處理器實際上會使用該位置來獲取模式。這與名稱空間有所不同。 DTD和XML Schema位置肯定會導致網絡活動。
所以我建議你檢查是否......
- 的XML使用外部定義,無論這些可用一個DTD;
- XML指定模式位置以及是否可以到達該位置;
- 樣式表使用模式或其他外部資源以及是否可用。
一旦找到原因,請查看與處理器一起使用XML目錄。XML目錄將允許您使用本地資源,如果它們無法從其URI解析的話。
這不是失敗,因爲「http://www.w3.org/1999/XSL/Transform」不可用。由於其他原因,這是失敗的。也許是因爲XHTML DTD正在被請求。 –
與其向我們提出一個基於錯誤假設的模糊和普遍的問題,提供一個完整的(最簡單的「失敗」轉化例子 - 那麼這裏的每個人都能夠確切地說出什麼是錯誤的將會更有成效。) –
,我們一直在等待12年的時間讓這個網頁成爲在線 - 還沒有 –