2011-10-06 51 views
0

我有樣式表和架構相同的文件使用的命名空間XSD/XSLT命名空間 - 如何對研發和生產

例如

<xsl:stylesheet version = '1.0' 
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:abc="http://development.com"> 

但是,當它們放到生產服務器上時,我必須更改名稱空間的URL。有沒有更簡單的方法,所以我不需要通過它們來更改網址? (即只有一個文件可以在開發平臺和生產平臺上運行)

回答

4

命名空間使用URL作爲約定來幫助確保唯一性(例如,以便設計XML語言來描述事件的兩個不同的人最終以http://example.com/eventhttp://example.net/event代替的eventevent)。

有一個約定用於在該URL處放置與名稱空間(例如模式或人類可讀規範)相關的文檔,但這僅僅是一種約定。

您不應該在開發和生產之間更改您在xmlns屬性中使用的標識符。就名稱空間而言,XML應用程序是一種XML應用程序,他們不理會開發和生產。 (例如,所有的XHTML使用相同的命名空間,不管它是XHTML 1,XHTML 1.1,HTML 5的XML序列化還是其他)。

因此,簡而言之:

有這麼一個更簡單的方法,我不需要去通過他們,並更改網址?

只使用生產一個。首先沒有開發名稱空間。

+0

首先,生產和開發的命名空間應該沒有區別。這對我來說沒有任何意義。命名空間關注元素的唯一性和分類,那麼爲什麼環境會對此產生影響呢? – Tomalak

+0

但我也使用過'xs:include' - 它如何找到這些文件的位置? –

+0

使用相對URI。 – Quentin