Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problema xsd e xml

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    problema xsd e xml

    ciao . ho generato le classi c++ con xsd.exe di Code Synthesis da uno schema .xsd.
    Il problema è che quando cerco di deserializzare da c++ mi da il seguente errore:

    "element 'authorization' is not allowed for content model '(name,time_stamp,author,organization,preprocessor _version,originating_system,authorization,document ation)'" } std::basic_string<char,std::char_traits<char>,std: :allocator<char> >::_Bxty

    questo è l'xml:

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <ex:iso_10303_28 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ex="urn:iso.org:standard:10303:part(28):version(2):xmlschema:common" xsi:schemaLocation="urn:iso.org:standard:10303:part(28):version(2):xmlschema:common ex.xsd" version="2.0">
    	<ex:iso_10303_28_header>
    		<ex:name>C:\modelli post\IFC\5.ifcxml</ex:name>
    		<ex:time_stamp>2010-06-09T13:11:04</ex:time_stamp>
    		<ex:author>Giuseppe Ferrari</ex:author>
    		<ex:organization></ex:organization>
    		<ex:authorization></ex:authorization>
    		<ex:originating_system>Allplan 2009.0 15.03.2010 - 13:23:58</ex:originating_system>
    		<ex:preprocessor_version>Express Data Manager Version 4.7.065 Oct 30 2006</ex:preprocessor_version>
    		<ex:documentation>IFC2x3 Coordination View</ex:documentation>
    	</ex:iso_10303_28_header>
    	<ex:uos id="uos_1" description="" configuration="i-ifc2x3" edo="" xmlns="http://www.iai-tech.org/ifcXML/IFC2x3/FINAL" xsi:schemaLocation="http://www.iai-tech.org/ifcXML/IFC2x3/FINAL. \IFC2X3.xsd">
    		<IfcAxis2Placement3D id="i1556">
    			<Location>
    				<IfcCartesianPoint id="i1584">
    					<Coordinates ex:cType="list">
    						<IfcLengthMeasure ex:pos="0">0.</IfcLengthMeasure>
    						<IfcLengthMeasure ex:pos="1">0.</IfcLengthMeasure>
    						<IfcLengthMeasure ex:pos="2">0.</IfcLengthMeasure>
    					</Coordinates>
    				</IfcCartesianPoint>
    			</Location>
    		</IfcAxis2Placement3D>
    	</ex:uos>
    </ex:iso_10303_28>
    e questo l'xsd del file ex.xsd :
    codice:
    	<xs:element name="iso_10303_28_header">
    		<xs:complexType>
    			<xs:sequence>
    				<xs:element name="name" type="xs:anyURI"/>
    				<xs:element name="time_stamp" type="xs:dateTime"/>
    				<xs:element name="author" type="xs:string"/>
    				<xs:element name="organization" type="xs:string"/>
    				<xs:element name="preprocessor_version" type="xs:string"/>
    				<xs:element name="originating_system" type="xs:string"/>
    				<xs:element name="authorization" type="xs:string"/>
    				<xs:element name="documentation" type="xs:string"/>
    			</xs:sequence>
    		</xs:complexType>
    	</xs:element>
    richiamato dall ' xml generale in questo spezzone :
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    
    
    
    
    
    
    
    
    
    
    
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:ex="urn:iso.org:standard:10303:part(28):version(2):xmlschema:common" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifc="http://www.iai-tech.org/ifcXML/IFC2x3/FINAL" attributeFormDefault="unqualified" targetNamespace="http://www.iai-tech.org/ifcXML/IFC2x3/FINAL">
    
    
    
    
    	<xs:import namespace="urn:iso.org:standard:10303:part(28):version(2):xmlschema:common" schemaLocation="ex.xsd">
    	</xs:import>
    	<xs:element substitutionGroup="ex:uos" name="uos" type="ifc:uos">
    	</xs:element>
    	<xs:complexType name="uos">
    		<xs:complexContent>
    			<xs:extension base="ex:uos">
    				<xs:choice minOccurs="0" maxOccurs="unbounded">
    					<xs:element ref="ex:Entity">
    					</xs:element>
    				</xs:choice>
    			</xs:extension>
    		</xs:complexContent>
    	</xs:complexType>
    ho provato a mettere un valore in authorization nell xml, ma non cambia niente.
    Non riesco a capire l'errore!!!

    grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ps.
    Ho risolto, leggendo la guida xml di html.it , la sequence va messa nell ordine dell'xsd.
    adesso ho questo errore :
    + message_ {"element 'uos' is abstract; use non-abstract member of its substitution group instead"} std::basic_string<char,std::char_traits<char>,std: :allocator<char> >

    so tranquillamente cosa sono tipi astratti e derivazione (programmo in c++).
    solo che sto tentando di usare dei sorgenti c++ estratti con xsd.exe ma ottengo quest errore quando vado a deserializzare il nodo uos, proprio quello dell'errore , non capisco.
    avete da consigliarmi una guida o un libro su queste cose(xsd , magari xslt ecc...tipi astratti xml , derivazione ecc...) cosi' non vi disturbo ogni 20 min.

    grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.