xsi:schemaLocation
應該包含一個URI列表,兩個語義分組。出現在奇數位置的每個URI指定一個名稱空間,出現在下一個偶數位置的URI指定用於該名稱空間的模式的位置提示。位置提示可能是本地或遠程的。
這是一個有三個命名空間的例子:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ord-archive:XXX
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ord-archive="http://www.example.com/namespace"
xmlns:prefix="http://www.example.com/another-namespace"
xmlns:other-prefix="http://www.example.com/and-another-namespace"
xsi:schemaLocation="
http://www.example.com/namespace
http://somewhere.example.com/something.xsd
http://www.example.com/another-namespace
some-relative-path-to-a-directory/some-local-file.xsd
http://www.example.com/and-another-namespace
file:///some-absolute-path-to-a-directory/some-local-file.xsd">
<!-- the document itself, which contains elements in the three
namespaces, referenced with the bound prefixes. -->
</ord-archive:XXX>
XML Schema規範葉驗證引擎一定的自由度,因此從理論上講,他們可能會或可能不會跟隨暗示,他們可能會使用緩存的版本一些名字空間等等。然而,實際上,大多數驗證引擎會使用你的提示或提供一種實現特定的方式來控制它們的行爲。
在問題中的鏈接下給出的示例使用xsi:noNamespaceSchemaLocation
,其中包含位置提示,表示沒有目標名稱空間的模式。