Zum Inhalt springen

xml root element wie?


bigredeyes

Empfohlene Beiträge

hallo,

ich habe mir hier eine simple xsd-datei machen lassen (aus einer IDL-datei generiert).

<!-- This file was generated (by /usr/bin/idl2xsd.pl). DO NOT modify it -->

<!-- From file : Person.idl, 109 octets, Mon Apr 11 14:40:10 2005

-->

<!-- end of file : Person.xsd -->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.omg.org/IDL-Mapped/" targetNamespace="http://www.omg.org/IDL-Mapped/" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:complexType name="Geometry.Person">

<xs:sequence>

<xs:element name="firstname" type="xs:string"/>

<xs:element name="lastname" type="xs:string"/>

<xs:element name="age" type="xs:int"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

wenn ich jetzt meinem xmlspy sage, er soll mir eine xml daraus generieren, sagt er mir, das root-elemet fehlt.

ist die xsd noch nicht genug info?

er sagt auch das das ding well-formed und valid ist.

wie muss ich das root element einfügen?

danke

xmlverzweifler bigredeyes

Link zu diesem Kommentar
Auf anderen Seiten teilen

versuch ma so


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.omg.org/IDL-Mapped/" targetNamespace="http://www.omg.org/IDL-Mapped/" elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:element name="rootElement">

    <xs:complexType name="Geometry.Person">

      <xs:sequence>

        <xs:element name="firstname" type="xs:string"/>

        <xs:element name="lastname" type="xs:string"/>

        <xs:element name="age" type="xs:int"/>

      </xs:sequence>

    </xs:complexType>

  </xs:element>

</xs:schema>

Das "root element" muss nicht zwingend "rootElement" benannt werden.

Aber kann man aus einer XSD ein XML erstellen!?

Link zu diesem Kommentar
Auf anderen Seiten teilen

versuch ma so

Aber kann man aus einer XSD ein XML erstellen!?

xmlSpy sagt, er kann das. nur das dumme ist, er kann es doch nicht.

wenn ich die änderung mache, kommt eine fehlermeldung in der art von:

"This schema doesn't appear to be valid by itself (as a part of another schema, it still might be ok): Attribute 'name' is not possible for element 'xs:complexType'. it is prohibited by complex type 'xs:localComplexType'."

???

@kills2:

hast du literatur tipps für xml/xsd?

die bücher die ich hab sind irgendwie komisch. wird alles an einem beispiel gezeigt, aber irgendwie fliegen die infos "vom himmel".

[Galileo Computing: Einstig in XML]

bigredeyes

Link zu diesem Kommentar
Auf anderen Seiten teilen


.....

<xs:element name="SoHeissIch">

	<xs:complexType>

		<xs:sequence>

.....

anstatt

.....

<xs:element name="SoHeissIch">

	<xs:complexType name = "Geometry.Person">

		<xs:sequence>

.....

gehe ich richtig in der annahme, dass ich in der beschreibung dem ding sozusagen 2 namen gegeben habe [einen für simple ienne für complex] und das einer zuviel war?!?

bigredeyes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie besprochen, anbei der Source-Code:


<?xml version="1.0" encoding="UTF-16"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

	<xs:element name="ddl">

		<xs:complexType>

			<xs:sequence>

				<xs:element ref="database" minOccurs="1" maxOccurs="unbounded"/>

			</xs:sequence>

			<xs:attribute name="version" use="required" type="xs:decimal"/>

		</xs:complexType>

	</xs:element>

	<xs:element name="database">

		<xs:complexType>

			<xs:sequence>

				<xs:element minOccurs="1" maxOccurs="unbounded" ref="table"/>

			</xs:sequence>

			<xs:attribute name="name" use="required" type="xs:NCName"/>

		</xs:complexType>

	</xs:element>

	<xs:element name="table">

		<xs:complexType>

			<xs:sequence>

				<xs:element minOccurs="1" maxOccurs="unbounded" ref="field"/>

				<xs:element minOccurs="0" ref="description"/>

			</xs:sequence>

			<xs:attribute name="name" use="required" type="xs:NCName"/>

			<xs:attribute name="className" use="optional" type="xs:NCName"/>

		</xs:complexType>

	</xs:element>

	<xs:element name="field">

		<xs:complexType>

			<xs:sequence>

				<xs:element ref="data"/>

				<xs:element minOccurs="0" ref="setterFunction"/>

				<xs:element minOccurs="0" ref="getterFunction"/>

				<xs:element minOccurs="0" ref="description"/>

			</xs:sequence>

			<xs:attribute name="foreignKeyOf" use="optional" type="xs:string"/>

			<xs:attribute name="foreignObject" use="optional" type="xs:NCName"/>

			<xs:attribute name="name" use="required" type="xs:NCName"/>

			<xs:attribute name="primaryKey" use="optional" type="xs:boolean"/>

			<xs:attribute name="autoIncrement" use="optional" type="xs:boolean"/>

			<xs:attribute name="required" use="optional" type="xs:boolean"/>

			<xs:attribute name="unique" use="optional" type="xs:boolean"/>

		</xs:complexType>

	</xs:element>

	<xs:element name="data">

		<xs:complexType>

			<xs:sequence>

				<xs:choice minOccurs="0">

					<xs:element ref="text"/>

					<xs:element ref="enum"/>

					<xs:element ref="set"/>

					<xs:element ref="numeric"/>

					<xs:element ref="timeData"/>

				</xs:choice>

				<xs:element minOccurs="0" ref="defaultValue"/>

				<xs:element minOccurs="0" ref="storeFunction"/>

				<xs:element minOccurs="0" ref="validationFunction"/>

			</xs:sequence>

		</xs:complexType>

	</xs:element>

	<xs:element name="setterFunction" type="xs:NCName"/>

	<xs:element name="getterFunction" type="xs:NCName"/>

	<xs:element name="description" type="xs:string"/>

	<xs:element name="text">

		<xs:complexType>

			<xs:sequence>

				<xs:element minOccurs="0" maxOccurs="1" ref="minimumLength"/>

				<xs:element minOccurs="0" maxOccurs="1" ref="maximumLength"/>

				<xs:element minOccurs="0" maxOccurs="1" ref="regexp"/>

			</xs:sequence>

			<xs:attribute name="type" use="optional">

				<xs:simpleType>

					<xs:restriction base="xs:string">

						<xs:enumeration value="date"/>

						<xs:enumeration value="time"/>

						<xs:enumeration value="datetime"/>

						<xs:enumeration value="year"/>

						<xs:enumeration value="email"/>

						<xs:enumeration value="cleanText"/>

						<xs:enumeration value="word"/>

						<xs:enumeration value="alpha"/>

						<xs:enumeration value="numeric"/>

						<xs:enumeration value="default"/>

					</xs:restriction>

				</xs:simpleType>

			</xs:attribute>

			<xs:attributeGroup ref="mysqlText"/>

		</xs:complexType>

	</xs:element>

	<xs:attributeGroup name="mysqlText">

		<xs:attribute name="mysqltype" use="optional">

			<xs:simpleType>

				<xs:restriction base="xs:string">

					<xs:enumeration value="varchar"/>

					<xs:enumeration value="char"/>

					<xs:enumeration value="blob"/>

					<xs:enumeration value="text"/>

					<xs:enumeration value="tinyblob"/>

					<xs:enumeration value="tinytext"/>

					<xs:enumeration value="mediumblob"/>

					<xs:enumeration value="mediumtext"/>

					<xs:enumeration value="longblob"/>

					<xs:enumeration value="longtext"/>

				</xs:restriction>

			</xs:simpleType>

		</xs:attribute>

		<xs:attribute name="size" use="optional" type="xs:int"/>

	</xs:attributeGroup>

	<xs:element name="minimumLength" type="xs:integer"/>

	<xs:element name="maximumLength" type="xs:integer"/>

	<xs:element name="regexp" type="xs:string"/>

	<xs:element name="enum">

		<xs:complexType>

			<xs:sequence>

				<xs:element maxOccurs="unbounded" ref="enumValue"/>

			</xs:sequence>

			<xs:attribute name="boolean" use="optional" type="xs:boolean"/>

		</xs:complexType>

	</xs:element>

	<xs:element name="enumValue">

		<xs:complexType>

			<xs:simpleContent>

				<xs:extension base="xs:string">

					<xs:attribute use="optional" name="flag" type="xs:boolean"/>

				</xs:extension>

			</xs:simpleContent>

		</xs:complexType>

	</xs:element>

	<xs:element name="set">

		<xs:complexType>

			<xs:sequence>

				<xs:element maxOccurs="unbounded" ref="setValue"/>

			</xs:sequence>

		</xs:complexType>

	</xs:element>

	<xs:element name="setValue">

		<xs:complexType>

			<xs:simpleContent>

				<xs:extension base="xs:string"/>

			</xs:simpleContent>

		</xs:complexType>

	</xs:element>

	<xs:element name="numeric">

		<xs:complexType>

			<xs:sequence minOccurs="0">

				<xs:element minOccurs="0" ref="minimumValue"/>

				<xs:element minOccurs="0" ref="maximumValue"/>

			</xs:sequence>

			<xs:attribute use="optional" name="unsigned" type="xs:boolean"/>

			<xs:attributeGroup ref="mysqlnumeric"/>

		</xs:complexType>

	</xs:element>

	<xs:attributeGroup name="mysqlnumeric">

		<xs:attribute name="mysqltype" use="optional">

			<xs:simpleType>

				<xs:restriction base="xs:string">

					<xs:enumeration value="tinyint"/>

					<xs:enumeration value="smallint"/>

					<xs:enumeration value="mediumint"/>

					<xs:enumeration value="int"/>

					<xs:enumeration value="bigint"/>

					<xs:enumeration value="float"/>

					<xs:enumeration value="double"/>

					<xs:enumeration value="decimal"/>

				</xs:restriction>

			</xs:simpleType>

		</xs:attribute>

		<xs:attribute name="size" type="xs:string" use="optional"/>

	</xs:attributeGroup>

	<xs:element name="timeData">

		<xs:complexType>

			<xs:attribute name="type" use="required">

				<xs:simpleType>

					<xs:restriction base="xs:string">

						<xs:enumeration value="date"/>

						<xs:enumeration value="time"/>

						<xs:enumeration value="datetime"/>

						<xs:enumeration value="timestamp"/>

						<xs:enumeration value="year"/>

					</xs:restriction>

				</xs:simpleType>

			</xs:attribute>

			<xs:attribute name="auto" type="xs:boolean" use="optional" default="false"/>

		</xs:complexType>

	</xs:element>

	<xs:element name="minimumValue" type="xs:decimal"/>

	<xs:element name="maximumValue" type="xs:decimal"/>

	<xs:element name="storeFunction" type="xs:NCName"/>

	<xs:element name="validationFunction" type="xs:NCName"/>

	<xs:element name="defaultValue" type="xs:string"/>

</xs:schema>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...