1
我們正在構建企業範圍的XML模式。在由不同團隊構建的架構之間存在通用元素,我們希望他們都使用相同數據元素的相同名稱,以便他們能夠使用相同的數據字典。在XSD中共享定義的技巧?
爲我們打造出的模式,但希望他們都使用例如customerfirstname
的同名 應該在所有不同的模式一樣,我們如何做到這一點,我們會加班元素添加到數據字典?
我們正在構建企業範圍的XML模式。在由不同團隊構建的架構之間存在通用元素,我們希望他們都使用相同數據元素的相同名稱,以便他們能夠使用相同的數據字典。在XSD中共享定義的技巧?
爲我們打造出的模式,但希望他們都使用例如customerfirstname
的同名 應該在所有不同的模式一樣,我們如何做到這一點,我們會加班元素添加到數據字典?
通過使用命名空間,實現XSD中共享和非共享詞彙表控制的分離。
1族(和其它基團)可以定義在他們控制的命名空間的XSD,
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:g1="http://example.com/group1"
xmlns:c1="http://example.com/common"
targetNamespace="http://example.com/group1">
<xs:import namespace="http://example.com/common" schemaLocation="common.xsd"/>
<xs:element name="Group1X">
<xs:complexType>
<xs:sequence>
<xs:element ref="g1:Group1Y"/>
<xs:element ref="c1:Common1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Group1Y" type="xs:string"/>
</xs:schema>
並導入在公共的,共享控制下的命名空間的XSD:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.com/common">
<xs:element name="Common1" type="xs:string"/>
</xs:schema>
這樣兩者都可以用在同一個XML文檔中
<?xml version="1.0" encoding="UTF-8"?>
<g1:Group1X xmlns:g1="http://example.com/group1"
xmlns:c1="http://example.com/common"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://example.com/group1 group1.xsd">
<g1:Group1Y>
Vocabulary in the "http://example.com/group1" namespace is under
the control of group 1.
</g1:Group1Y>
<c1:Common1>
Vocabulary in the "http://example.com/common" namespace is under
common control.
</c1:Common1>
</g1:Group1X>
根據要求沒有衝突。
由於模式可以包含另一個模式文件,因此您可以擁有每個團隊的模式包含的公共xsd。 –