2011-01-10 8 views
0

私はのように見えるXMLスキーマを扱っています:XML:XS用の回避/デフォルト値:拡張

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="XML" type="XMLType"/> 
    <xs:complexType name="client_summaryType"> 
    <xs:complexContent mixed="true"> 
     <xs:extension base="xs:any"><xs:sequence><xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" /></xs:sequence> 
     <xs:attribute type="xs:string" name="cid"/> 
     <!-- other attributes --> 
     <xs:anyAttribute processContents="skip" /></xs:extension> 
    </xs:complexContent> 
    </xs:complexType> 
    <xs:complexType name="XMLType"> 
    <xs:choice maxOccurs="unbounded"> 
     <xs:element minOccurs="0" maxOccurs="unbounded" type="client_summaryType" name="client_summary"/> 
    </xs:choice> 
    </xs:complexType> 
</xs:schema> 

私は入れませんエラーは、次のとおりです。今

attribute 'base': The QName value '{http://www.w3.org/2001/XMLSchema}any' does not resolve to a(n) simple type definition. 

、私の問題どうすればxs:extensionのトラップを避けることができますか? を使用することはできません。なぜなら、client_summaryTypeに要素を含めるためです。明らかに、xs:elementまたはxs:anyも使用できません。 complexContentを使用するには何が使えますか、どこからでも物を継承しないで、私が望むものを定義してそれを検証することができますか?ですから、私はxs:extensionの問題に対処したくありませんが、私はxs:complexContentを使用したい(内容に対して検証する)。これはできますか?

ありがとうございました。

答えて

0

使用<xs:extension base="xs:anyType">

0

ありXSと呼ば​​れる全くタイプではありません:任意のは、あなたがそれを拡張することはできません。おそらくあなたはxs:anyTypeを考えていたでしょうか?しかし、なぜそれが拡張を望んでいるのかは分かりません。すでにすべてを許可しているからです。 xs:complexContentとxs:拡張子の両方を省略し、コンテンツモデルをxs:complexTypeの子として定義するだけでよいことを、あなたが達成しようとしているところから説明してくれたようです。

+0

ちょっとマイケル、私はそれを試みましたが、 '[$ element]が空のタイプのコンテンツを持つことはできません。 –

関連する問題