🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Borneq Sat, 05 Nov 2011 17:51
Format deklaracji kodowania
#10267
Author: Borneq
Date: Sat, 05 Nov 2011 17:51
10 lines
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
#10268
Author: szomiz
Date: Sat, 05 Nov 2011 18:16
44 lines
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