Białe znaki w XML-u

Nie wiem, jak jest zdefiniowana ta sprawa w standardzie, ale taki libxml2 białe znaki między elementami XML-a uznaje jako element.

Mając XML-a:

<root>
	<node>node value</node>
</root>

Pierwszym dzieckiem roota jest element zawierający tabulator i znak końca wiersza, a następnym dopiero element node.

Większość parserów, także tych "wbudowanych" w skryptowe języki - PHP, Perl, standardowo ignoruje takie elementy.

Miałem nadzieje, że jest jakaś opcja w libxml pozwalającą zignorować puste elementy, ale niestety nic nie znalazłem.

Będę musiał się pomęczyć z xmlIsBlankNode().

Tak przy okazji, libxmla ma bardzo wielkie możliwości, póki co wykorzystuje tylko podstawowe elementy w tworzonym serwerze proxy XMPP<>Tlen. Na korzyść libxmla przemawia także bardzo łatwa współpraca z libxslt ;)

2 thoughts on “Białe znaki w XML-u”

  1. Znalazlem w enum xmlParserOption pozycje: XML_PARSE_NOBLANKS = 256 : remove blank nodes.

    Teraz tylko podmienic funkcje do „ladowania” XML-a z pliku i stringu na takie, ktore przyjmuja flagi ;)
    Tylko przez to strace defaultowe ustawione flagi, chyba, ze znajde cos co pozwoli ustawic dowolna flage.

    Jeszcze jeden maly mankament na jaki trafilem – libxml do kazdego „zrzutu” XML-a, czy do pliku, czy stringu dolacza prolog XML. Tworcy tlumacza sie tym, ze wymaga tego standard XML 1.1. Nie znalazlem nic ciekawego w libie, aby to „wylaczyc”, chyba recznie bede musial to usuwac, przy dumpach.

Pozostaw odpowiedź NuLL Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *