2009-07-12 68 views
0

我有一個簡單的XSD:塊無效元素XSD?

<xs:element name="config"> 
    <xs:complexType> 
     <xs:sequence minOccurs="1" maxOccurs="unbounded"> 
     <xs:element name="group" type="xs:string"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

在我的xml文件,我把這個:

<config> 
<group></group> 
<a></a> 
</config> 

如何阻止<a>標籤的插在我的XML?

觀測數據:出現在自動完成對我的C#的XML編輯器組!

回答

0

問題解決!!

是一個錯誤在我Visual Studio速成版

正確

在Visual Studio 2008(完整版)工藝XSD!

感謝所有!

1

除非您編寫自己的XML編輯器,否則您將無法「阻止」插入<a>,因爲它可以即時理解和解釋XSD架構。

你可以做的是驗證對架構創建的XML和拒絕它,如果它是無效的。

馬克

+0

馬克 我認爲這是不正確的! 當我使用NHibernate XSD時,在Visual Studio錯誤列表中討論一個無效元素時收到一個錯誤。 但我沒有找到特定的「標籤或屬性」,執行此驗證。 例: 嘗試使用一個名爲NHibernate的XML映射文件「什麼」標籤,你收到的VisualStudio ErrorList錯誤! 感謝您的重播! – JoeLoco 2009-07-12 15:27:05

+0

Visual Studio在知道該模式時將自動驗證XML。 NHibernate可以將其模式安裝到VS中。 您可以通過轉到XML - > Schema(如果有內存服務)來查看在XML文件中何時驗證哪些模式。 – Oded 2009-07-12 15:32:37

0

聽起來像你對我想排除應該是「配置」標籤的孩子,就像組標籤。如果它與「config」有關係,並且只應在其父母出現時才顯示,則需要表達它。