2017-11-17 1 views
0

I Klassendateien aus den XSD-Dateien auf der IRS-Website zu generieren bin versucht, zur Verfügung gestellt:xsd.exe nicht Typdeklarationen finden

https://www.irs.gov/businesses/corporations/fatca-xml-schemas-and-business-rules-for-form-8966

Schema Dokumente hier: https://www.irs.gov/pub/fatca/fatcaxml_v2.0.zip

(FATCAXML_v2. . 0 (25KB) - Hauptschema für FATCA Reporting)

Die ZIP-Datei enthält 4 Einträge:

  • FatcaXML_v2.0.xsd
  • isofatcatypes_v1.1.xsd
  • oecdtypes_v4.2.xsd
  • stffatcatypes_v2.0.xsd

Im ersten Dokument, FatcaXML_v2.0.xsd gibt sind 3 xsd: Knoten importieren, die auf die 3 anderen xsd-Dokumente verweisen.

Bei dem Versuch, meine Klassen zu erzeugen mit xsd.exe gegen FatcaXML_v2.0.xsd, erhalte ich nicht mehrere Fehler über Typen deklariert werden, zB:

Schema validation warning: Type 'urn:oecd:ties:stffatcatypes:v2:StringMax200_Type' is not declared. Line 259, position 5. 

Allerdings muss ich für diese Art eine Erklärung sehen in stffatcatypes_v2.0.xsd (die an die Spitze der ‚FatcaXML_v2.0.xsd‘ wurde eingeführt):

<xsd:simpleType name="StringMax200_Type"> 
    <xsd:annotation> 
    <xsd:documentation>Defines a string with maximum length of 200 
    </xsd:documentation> 
    </xsd:annotation> 
    <xsd:restriction base="xsd:string"> 
     <xsd:minLength value="0"/> 
     <xsd:maxLength value="200"/> 
    </xsd:restriction> 
</xsd:simpleType> 

Wie erhalte ich xsd.exe diese Typdefinitionen zu erkennen?

Dank im Voraus

+0

Was sind die 'schemaLocation' Attribute in den' ' Elementen? – spodger

+0

\t \t : Die Dateien befinden sich alle im selben Ordner – user3620475

+0

And Alle Schemas befinden sich in demselben Ordner? In diesem Fall versuchen Sie, jede Schemadatei in der Befehlszeile anzugeben. – spodger

Antwort

0

Um XSD.exe zu ‚Ehre‘ Schema zu erhalten importierte die

<xsd:import namespace="importNamespace" schemaLocation="schema.xsd"/> 

Erklärung verwenden, muß das Schema im selben Ordner befand, und Sie müssen angeben, alle von ihnen in der Befehlszeile. Sie sollten auch in der Reihenfolge ihrer Verwendung vom Basisschema zum übergeordneten Element angegeben werden. Also, wenn Sie ein Schema, parent.xsd die child.xsd die wiederum Importe base.xsd dann die Befehlszeile muss wie folgt

xsd base.xsd child.xsd parent.xsd [options] 

N. B. importiert Die Schemata müssen möglicherweise nicht alle am gleichen Speicherort sein, aber wenn nicht, vermute ich, dass der relative Speicherort (relativ zu dem, wo Sie XSD ausführen, die im Ordner des primären Schemas sein sollte) in der Befehlszeile angegeben werden muss für jedes Schema und sollte wahrscheinlich das <import schemaLocation Attribut entsprechen, aber ich bin nicht in der Lage, dies im Moment zu bestätigen.

Verwandte Themen