XSD:类型限制为空/空白并存在?但它是complexType中的一个简单类型(字符串)

时间:2011-03-29 13:15:46

标签: c# xml schema xsd

我有一个XSD,这是下面定义的一部分,但它不起作用。我需要确保Name不是这样的

   <Item Name="example"></Item> 

注意标签之间没有任何内容,我运行验证并通过。我已经设置了use =“required”..我也尝试设置一些限制,但它说它只能用一个简单的类型。好吧,它是一个带有字符串的complexType。

我很感激任何人都可以提供帮助。提前致谢

      <xs:complexType>
        <xs:simpleContent msprop:Generator_ColumnVarNameInTable="columnItem_Text" 
                msprop:Generator_ColumnPropNameInRow="Item_Text" 
                msprop:Generator_ColumnPropNameInTable="Item_TextColumn" 
                msprop:Generator_UserColumnName="Item_Text" 
                msdata:ColumnName="Item_Text" msdata:Ordinal="1>
          <xs:extension base="xs:string" >
            <xs:attribute name="Name"
                msprop:Generator_ColumnVarNameInTable="columnName" 
                msprop:Generator_ColumnPropNameInRow="Name" 
                msprop:Generator_ColumnPropNameInTable="NameColumn" 
                msprop:Generator_UserColumnName="Name" type="xs:string"
                     use="required" />
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>

1 个答案:

答案 0 :(得分:1)

使用extension base="xs:string"而不使用extension base="non-empty-string",其中非空字符串是使用<minLength value='1'/>定义为xs:string限制的简单类型(或者可能是正则表达式,如果您还希望禁止仅包含空格的值。