* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 19, 2024, 02:14:16 am

Inserisci il nome utente, la password e la durata della sessione.

402 Visitatori, 0 Utenti

Autore Topic: XML: da dove cominciare?  (Letto 16877 volte)

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #15 il: Aprile 18, 2013, 01:46:08 pm »
Ok, ma così XPathChecker mi tira fuori solo un "true" ad indicare che ha trovato nodi che soddisfano la condizione. Se volessi prendere i dati da quei nodi, ad esempio /literal?

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:XML: da dove cominciare?
« Risposta #16 il: Aprile 18, 2013, 01:49:02 pm »
hai ragione ... ma è un tool da usare per "controllo" dell'xpath come espressione ;)

EDIT:
Al posto di dire alla libreria che vuoi i valori, le chiedi i nodi ... così non hai il problema...
Se vuoi preparo una prova in pascal.

Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #17 il: Aprile 18, 2013, 02:01:29 pm »
hai ragione ... ma è un tool da usare per "controllo" dell'xpath come espressione ;)

Dal nome XPathChecker  il dubbio doveva venirmi  ;D

Citazione
EDIT:
Al posto di dire alla libreria che vuoi i valori, le chiedi i nodi ... così non hai il problema...
Se vuoi preparo una prova in pascal.

Stilgar

Ma magari!  :D

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:XML: da dove cominciare?
« Risposta #18 il: Aprile 18, 2013, 02:34:53 pm »
L'espressione che volevi ... quella completa era :
Codice: [Seleziona]
//dic_ref[@dr_type='nelson_c']/.[text()<100]
Ma così non vale ... ;)
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #19 il: Aprile 18, 2013, 02:53:09 pm »
Ok, grazie mille! Forse ci siamo quasi!

Codice: xpath [Seleziona]
/kanjidic2/character[dic_number[dic_ref[@dr_type='nelson_c']/.[text()<100 and text()>42]]]


Questo "coso" qui sopra filtra l'xml nel modo in cui serve a me, restituendomi tutti i nodi figli di character. Da questa lista posso quindi prendere i dati che mi servono (tipo il kanji con literal, i significati in diverse lingue con meaning, ecc.).
Mi resta quindi da vedere come funziona la unit xpath e vedere se è UTF-8 compliant...  :D

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:XML: da dove cominciare?
« Risposta #20 il: Aprile 18, 2013, 02:58:17 pm »
La libreria pascal mi da un'errore nel riconoscimento dell'espressione... o.O
Codice: [Seleziona]
 variable := EvaluateXPathExpression(
      '//dic_ref[@dr_type="nelson_c"]/.[number(text())<100]', FDom);
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #21 il: Aprile 18, 2013, 03:44:36 pm »
Ecco...  ::)

Da quello che leggo in giro, la unit xpath non dovrebbe nemmeno supportare UTF-8, tra l'altro  :(

A questo punto non mi rimane che provare con SAX (o DOM, al limite), con tutti i problemi di cui sopra

EDIT:
intanto ho trovato qualcosa con cui "giocherò" stasera
http://www.benibela.de/sources_en.html#internettools  :)
« Ultima modifica: Aprile 18, 2013, 04:33:33 pm da Legolas »

El Salvador

  • Visitatore
Re:XML: da dove cominciare?
« Risposta #22 il: Aprile 18, 2013, 04:46:27 pm »
Citazione
Da quello che leggo in giro, la unit xpath non dovrebbe nemmeno supportare UTF-8, tra l'altro
Le librerie di FPC 2.6.x sono ancora ANSI, mentre LCL (e quindi Lazarus) utilizza UTF8. Se non mi sbaglio, UTF-8 arriverà su FPC con la versione 2.7.x.

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #23 il: Aprile 18, 2013, 04:58:50 pm »
Sì, fcl-xml è stata convertita (dovrebbero essere le unit col prefisso "laz_", tipo Laz_DOM, Laz_xmlread, ecc.). Manco a dirlo, l'unica che manca è proprio xpath... 

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:XML: da dove cominciare?
« Risposta #24 il: Aprile 18, 2013, 05:04:54 pm »
Legolas, fammi sapere come vanno i test ;)
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #25 il: Aprile 20, 2013, 04:59:26 pm »
E niente, alla fine ho usato DOM plain vanilla  ;D
Magari ci sono metodi più ortodossi/veloci/eleganti, ma alla fine a me serve ottenere il risultato e amen. Ovviamente utilizzo le unit laz2_* per il supporto a UTF-8.

Grazie a tutti per i consigli  ;)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:XML: da dove cominciare?
« Risposta #26 il: Aprile 20, 2013, 05:08:30 pm »
mmmm. Ma usare le funzione SystemToUTF8 e UTF8ToSystem non ti erano sufficenti?
Strano ;)
A volte basta avere il risultato anche se brutto e sporco ;)

Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #27 il: Aprile 20, 2013, 07:05:53 pm »
Probabilmente sì, ma così senza sbattermi troppo, 4 righe in croce di codice e ottengo quello che mi serve  :D

Legolas

  • Global Moderator
  • Sr. Member
  • *****
  • Post: 366
  • Karma: +3/-0
Re:XML: da dove cominciare?
« Risposta #28 il: Aprile 20, 2013, 09:57:09 pm »
Rieccomi qui...

Ho buttato giù un veloce programmino che mi filtra i kanji secondo i miei criteri. Il file xml viene scorso correttamente e ottengo i risultati attesi, fino ad un determinato carattere:
𠀋

Su questo carattere (e anche su altri) becco un SIGSEGV. L'unica cosa che ho notato è che questo kanji, nell'editor "Sublime Text 2" sembra occupare 2 caratteri. Provo a spiegarmi: posizionando il cursore prima del carattere, bisogna premere il tasto cursore destro per due volte, perché con una singola pressione si ferma nel mezzo del kanji  :o
In pratica, tutti i kanji che hanno una codifica Unicode superiore a $20000 hanno lo stesso comportamento...

Idee?
 

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:XML: da dove cominciare?
« Risposta #29 il: Aprile 21, 2013, 07:16:53 am »
Ciao,
se non ricordo male, per poter definire tutti i caratteri dell'alfabeto cinese, e forse anche per quello giapponese, serve l'UTF16.
Comunque, se cerchi un po' in giro, se non c'è qualcosa di già pronto, dovrebbe essere abbastanza semplice fare la ricodifica. L'unico "problema" è che devi leggere la stringa un carattere alla volta e, se il carattere letto è uno di quelli particolari, non lo devi emettere subito, ma devi leggere anche il successivo.

Ciao, Mario

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18771
  • Topic in totale: 2233
  • Online Today: 404
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 402
Total: 402

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.