Fehler im Microsoft "SpreadsheetML Schemas"

  • Posted on: 5 January 2011
  • By: markus.wilhelm

Hi,
ich habe für eines meiner Projekte beim Import von Excel XML Dateien eine validierung mittels XSD eingebaut und dazu die XSD Dokumente von Microsoft verwendet. Bei der Prüfung wird die XSD excelss.xsd verwendet die sich auf einige andere XSD bezieht und diese zur Laufzeit importiert. Eine der dabei verwendeten XSDs ist folgende: office.xsd. Unter Excel 2007 wird beim speichern als Excel 2003 XML Arbeitsmappe als Version in der XML Datei 12.00 reingeschrieben. Microsoft XSD Files

<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<
Author>Markus Wilhelm</Author>
<
LastAuthor>Markus Wilhelm</LastAuthor>
<
Created>2011-01-05T13:20:04Z</Created>
<
Company>OSRAM and OSRAM Sylvania</Company>
<
Version>12.00</Version>
<
/DocumentProperties>

Bei der XSD validierung wird aber eine Versionsnummer xx.xxxx erwartet und folglich schlägt die Validierung per se fehl. Damit das nicht passiert müsst ihr den Wert für {4} in der Datei office.xsd auf {2} ändern.

<xsd:simpleType name="versionType">
<
xsd:annotation>
<
xsd:documentation>Defines a version number format.</xsd:documentation>
<
/xsd:annotation>
<
xsd:restriction base="xsd:string">
<
xsd:pattern value="[0-9]?[0-9].[0-9]{2}"></xsd:pattern>
<
/xsd:restriction>
<
/xsd:simpleType>