0
我是一個關於xsd和xml的新手,所以我正在努力弄清楚如何解決以下問題。我有以下結構的XML文件:xsd包含可變數量的元素和嵌套元素
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ECom_RU_TriggeringSearchController</members>
<members>ECom_RU_TriggeringSearchControllerTest</members>
<members>Ecom_cls_UtilityCaseActions</members>
<members>Ecom_cls_APAC_CaseActions</members>
<members>Ecom_NBA_cls_NBAResultsController</members>
<members>Ecom_NBA_cls_NBAResultsController_Test</members>
<name>ApexClass</name>
</types>
<types>
<members>ECom_RU_TriggeringSearch</members>
<name>ApexPages</name>
</types>
<types>
<members>*</members>
<name>ApexTrigger</name>
</types>
<types>
<members>customlabel1</members>
<members>customlabel2</members>
<name>CustomLabels</name>
</types>
<types>
<members>StaticResource1</members>
<name>StaticResource</name>
</types>
<types>
<members>Obj1</members>
<name>CustomObject</name>
</types>
<version>29.0</version>
</Package>
這裏保留最重要的事情是,我可以有不同數量的<types>
每個<types>
裏面我可以有可變數目的<members>
。 我發現這個XSD代表XML文件:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://soap.sforce.com/2006/04/metadata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Package">
<xs:complexType>
<xs:sequence>
<xs:element name="types" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="members" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="xs:string" name="name"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:float" name="version"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我的問題是:儘管我能夠代表使用maxOccurs
和minOccurs
屬性<types>
可變數目,我怎麼能,每個<types>
裏面,有可變數字<members>
?我知道我也可以使用這些屬性(maxOccurs
和minOccurs
),但每個<types>
內部的數量會有所不同,我需要的「某些」可以保存一個參數,該參數將替換爲在該特定的<types>
元素內使用的數量<members>
。
我希望我在我的解釋不夠清楚......
我希望能爭取解決引導的任何提示。
在此先感謝。
如果我理解正確的話,你想有地方的參數將表明你需要多少成員來形容,並檢查''標籤的實際數量你有反對這個參數? –
potame
理想情況下,我將定義該參數。我有一個函數,在一個bash腳本中將會通過這兩個參數,其數量爲,這很容易,並且每個的數量爲。問題是我不知道如何建立一個變量數爲的xsd。 –