xsd-file zu einem xml-file < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 08:44 Mo 16.01.2012 | Autor: | Stoecki |
Hallo zusammen,
ich habe folgendes Problem. Ich habe ein xml-file gegeben, zu dem ich ein xml-schema (xsd) schreiben muss. Das xml hat folgende Form:
<timeseriesdata>
<history interval="15">
<val>1.00</val>
<val>31.00</val>
</history>
</timeseriesdata>
Mein Problem ist das Attribut bei history. Ich habe es jetzt wie folgt definiert:
<xs:complexType name ="history">
<xs:sequence>
<xs:element name="val" minOccurs="1" maxOccurs="unbounded" type ="xs:double" />
</xs:sequence>
<xs:attribute name="interval" type="xs:integer"/>
</xs:complexType>
Wenn ich obiges File jedoch in ruby mit dieser Definition validiere, schlägt es fehl. Meine Frage ist nun, ob jemand weiß, wie man ein attribut in ein umschließendes Element einer collection packen kann. Schon mal danke vorab.
Gruß Bernhard
(Ich habe diese Frage in keinem anderen Forum gestellt)
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 08:57 Mo 16.01.2012 | Autor: | rainerS |
Hallo Bernhard!
> Hallo zusammen,
>
> ich habe folgendes Problem. Ich habe ein xml-file gegeben,
> zu dem ich ein xml-schema (xsd) schreiben muss. Das xml hat
> folgende Form:
>
> <timeseriesdata>
> <history interval="15">
> <val>1.00</val>
> <val>31.00</val>
> </history>
> </timeseriesdata>
>
> Mein Problem ist das Attribut bei history. Ich habe es
> jetzt wie folgt definiert:
>
> <xs:complexType name ="history">
> <xs:sequence>
> <xs:element name="val" minOccurs="1"
> maxOccurs="unbounded" type ="xs:double" />
> </xs:sequence>
> <xs:attribute name="interval" type="xs:integer"/>
> </xs:complexType>
>
> Wenn ich obiges File jedoch in ruby mit dieser Definition
> validiere, schlägt es fehl. Meine Frage ist nun, ob jemand
> weiß, wie man ein attribut in ein umschließendes Element
> einer collection packen kann. Schon mal danke vorab.
Dein Problem ist nicht das Attribut. Du verwechselst Element und Elementtyp. Du hast einen Typen namens history definiert, du willst aber ein Element namens history definieren:
1: | <xs:element name="history">
| 2: | <xs:complexType>
| 3: | <xs:sequence>
| 4: | <xs:element name="val" minOccurs="2" maxOccurs="2" type ="xs:double" />
| 5: | </xs:sequence>
| 6: | <xs:attribute name="interval" type="xs:integer"/>
| 7: | </xs:complexType>
| 8: | </xs:element> |
Alternativ könntest den Typ getrennt definieren:
1: | <xs:complexType name ="historyType">
| 2: | <xs:sequence>
| 3: | <xs:element name="val" minOccurs="2" maxOccurs="2" type ="xs:double" />
| 4: | </xs:sequence>
| 5: | <xs:attribute name="interval" type="xs:integer"/>
| 6: | </xs:complexType>
| 7: |
| 8: | <xs:element name="history" type="historyType"/> |
Viele Grüße
Rainer
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 09:38 Mo 16.01.2012 | Autor: | Stoecki |
Hallo Rainer,
erstmal danke für die schnelle Antwort. Du hast geschrieben:
Alternativ könntest den Typ getrennt definieren:
1: <xs:complexType name ="historyType">
2: <xs:sequence>
3: <xs:element name="val" minOccurs="2" maxOccurs="2" type ="xs:double" />
4: </xs:sequence>
5: <xs:attribute name="interval" type="xs:integer"/>
6: </xs:complexType>
7:
8: <xs:element name="history" type="historyType"/>
Im Prinzip habe ich den von mir beschriebenen complexType ähnlich eingebaut:
<xs:complexType name ="history">
<xs:sequence>
<xs:element name="val" minOccurs="1"
maxOccurs="unbounded" type ="xs:double" />
</xs:sequence>
<xs:attribute name="interval" type="xs:integer"/>
</xs:complexType>
<xs:complexType name ="timeseriesdatacollection">
<xs:sequence>
<xs:element name="history" minOccurs="0" maxOccurs="1" type="def:history"/>
</xs:sequence>
</xs:complexType>
dieses element (timeseriesdatacollection) habe ich dann als xs:element definiert mit namen name="timeseriesdata". hätte das nicht den gleichen effekt?
Gruß Bernhard
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:11 Mo 16.01.2012 | Autor: | Stoecki |
habe das problem gefunden. es lag an einer gem in meinem ruby on rails projekt
|
|
|
|