我想存儲解析特定XSD文件所需的所有XSD文件。 This answer說,我們應該尋找xs:include
和xs:import
屬性。如何查找XSD文件依賴關係
但是在元素內使用的命名空間呢?通常根元素(模式聲明)具有多個名稱空間聲明。 如果我們在XSD文件中遇到這些文件,我們是否也不應該爲這些命名空間包含XSD?
例如,在這個XSD文件中,我們不應該包含定義了urn:oma:xml:xdm:extensions
和urn:ietf:params:xml:ns:resource-lists
和http://www.w3.org/2001/XMLSchema
名稱空間的XSD嗎?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="urn:3gpp:ns:mcpttGroupInfo:1.0"
xmlns:mcpttgi="urn:3gpp:ns:mcpttGroupInfo:1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:oxe="urn:oma:xml:xdm:extensions"
xmlns:rl="urn:ietf:params:xml:ns:resource-lists"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="urn:oma:xml:xdm:extensions"/>
<xs:import namespace="urn:ietf:params:xml:ns:resource-lists"/>
<!-- XSD element and type definitions -->
</xs:schema>
感謝這個全面的答案,不幸的是,由於我對XML的知識有限,我很難理解它,所以我創建了[在GitHub上的一個小項目](https://github.com/neno--/fun-with -xml)來練習你提到的各種選項。現在我可以從您的答案中獲得更多益處。 [Beginning XML 5th Edition]中的章節(https://www.amazon.com/Beginning-XML-Joe-Fawcett/dp/1118162137/ref=sr_1_1?ie=UTF8&qid=1509431951&sr=8-1&keywords=beginning+xml )被證明非常有用。 我發佈了自己的答案來詳細闡述一些。 – igobivo