Zdravim konferenciu,

mam takyto problem pri parsovani XML-ka, ak mam v XML-ku zadane:

<datumSpracovania>17.02.2012</datumSpracovania>

je vsetko OK, ale ak kolega zadal:

<datumSpracovania>
17.02.2012
</datumSpracovania>

teda po <datumSpracovania> dal ENTER, potom 17.02.2012 a potom zase
ENTER, a potom </datumSpracovania>

potom je to chyba na schemu:

12/02/23 20:34:03 INFO documentImport.RegisterErrors:
cvc-datatype-valid.1.2.3: '
       17.02.2012
     ' is not a valid value of union type 'optDate'.
12/02/23 20:34:03 INFO documentImport.RegisterErrors: cvc-type.3.1.3:
The value '
       17.02.2012
     ' of element 'datumSpracovania' is not valid.

teda:

ZLÝ-FORMÁT r:88, stl:20; Hodnota ' 17.02.2012 ' nezodpovedá vzoru 'optDate'
ZLÁ-HODNOTA r:88, stl:20; Hodnota ' 17.02.2012 ' elementu
'datumSpracovania' je chybná

pouzivam javax.xml.parsers.DocumentBuilderFactory a parser je
nastaveny nasledovne:

// Set additional attributes
dBuildFactory.setValidating(true);
dBuildFactory.setNamespaceAware(true);
dBuildFactory.setIgnoringElementContentWhitespace(true);
dBuildFactory.setIgnoringComments(true);

ako je mozne donutit parser aby ignoroval 'new line'

v scheme je tento datum zadefinovany (schemu som nerobil a nemozem ju menit):

<xsd:element name="datumSpracovania" type="optDate"/>

<xsd:simpleType name="optDate">
       <xsd:union memberTypes="Date emptyStr"/>
</xsd:simpleType>

<xsd:simpleType name="emptyStr">
       <xsd:restriction base="xsd:string">
           <xsd:enumeration value=""/>
       </xsd:restriction>
</xsd:simpleType>

dakujem

Ivan

Odpovedet emailem