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