Thread View: pl.comp.xml
2 messages
2 total messages
Started by Borneq
Sat, 05 Nov 2011 17:51
Format deklaracji kodowania
Author: Borneq
Date: Sat, 05 Nov 2011 17:51
Date: Sat, 05 Nov 2011 17:51
10 lines
1417 bytes
1417 bytes
Jak najszybciej sprawdzić, czy plik jest prawidłowym XML-em z kodowaniem UTF-8 czy też dowolnym innym plikiem tekstowym. Nie chodzi mi o parser całego XMLa, tak jak w Delphi jest NativeXML, ale o to jak najszybciej napisać klasę sprawdzającą. Spotkałem się z takimi: <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?> Czy po "<?" piszemy "xml" czy dopuszczalne są tutaj spacje? czy przed i po znaku równości mogą być spacje? Jak napisać najszybszą klasę parsującą tylko tę deklarację, czyli sprawdzenie że musi kończyć się na "?>"
Re: Format deklaracji kodowania
Author: szomiz
Date: Sat, 05 Nov 2011 18:16
Date: Sat, 05 Nov 2011 18:16
44 lines
2368 bytes
2368 bytes
Użytkownik "Borneq" <borneq@antyspam.hidden.pl> napisał w wiadomości
news:j93t3d$9mj$2@inews.gazeta.pl...
> <?xml version="1.0" encoding="utf-8"?>
> <?xml version="1.0" encoding="utf-8" ?>
Z dokladnoscia do sprawdzenie prologu *nic* nie mowi o tym,
> czy plik jest prawidłowym XML-em z kodowaniem UTF-8 czy też dowolnym innym
> plikiem tekstowym.
http://www.w3.org/TR/xml/#sec-prolog-dtd
> Czy po "<?" piszemy "xml" czy dopuszczalne są tutaj spacje? czy przed i
Niedopuszczalne.
[23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S?
'?>'
> po znaku równości mogą być spacje? Jak napisać najszybszą klasę
Moga.
[24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"'
VersionNum '"')
[80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'"
EncName "'" )
[32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"'
('yes' | 'no') '"'))[VC: Standalone Document Declaration]
[25] Eq ::= S? '=' S?
[3] S ::= (#x20 | #x9 | #xD | #xA)+
> parsującą tylko tę deklarację, czyli sprawdzenie że musi kończyć się na
> "?>"
Klase? Wyrazeniem regularnym to spawdzisz.
sz.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads