2016-03-28 61 views
0

我正在写一个Xml模式,我想要一个具有一些属性的元素作为基于字符串的complexType和simpleContent。我希望它也保留空白。现在,我有这样的片段:带保留空白和属性的Xml模式数据类型

<xs:complexType name="actualType"> 
    <xs:simpleContent> 
    <xs:extension base="stringWithSpace"> 
     <xs:attribute name="a" type="xs:int"/> 
     <xs:attribute name="b" type="xs:int"/> 
    </xs:extension> 
    </xs:simpleContent> 
</xs:complexType> 

<xs:simpleType name="stringWithSpace"> 
    <xs:restriction base="xs:string"> 
    <xs:whiteSpace value="preserve" /> 
    </xs:restriction> 
</xs:simpleType> 

的问题是,我需要有两个单独的类型来获得属性和保存的空白或者是有什么我错过了什么?

+0

您当前的实施是否有效? –

+0

是的,它目前的作品。对于限制和扩展字符串类型,感觉真的很奇怪,因为我想要的唯一的“限制”是解析器不能吃掉所有的空白。感觉来自编程背景的错误,我只想为一组更改扩展基本类型。 –

+0

您的(正确)方法似乎是执行此操作的标准方法。假设你可以重用保留空白的字符串,我不认为这是很糟糕的。 –

回答

1

我看到确认,这只是在问题的原始代码段中表达的标准方式。我正在回答问题,以便任何稍后搜索此问题的人都可以收到相同的确认。