|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
[C] Produco un file, ma poi alla fine devo fare 1 append in testa: si può fare?
Praticamente con la mia funzione vado a creare il file XML che segue,
solo che la parte in rosso la conosco solo alla fine, mentre i segmenti li scrivo in appen uno alla volta man mano che li incontro. Codice:
<?xml version="1.0" encoding="iso-8859-1"?>
<Mpeg7 xmlns="urn:mpeg:mpeg7:schema:2001"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001"
xsi:schemaLocation="urn:mpeg:mpeg7:schema:2001 Mpeg7-2001.xsd">
<Description xsi:type="ContentEntityType">
<MultimediaContent xsi:type="VideoType">
<Video>
<MediaTime>
<MediaTimePoint>T00:00:00</MediaTimePoint>
<MediaDuration>PT0M26S</MediaDuration>
</MediaTime>
<TemporalDecomposition>
<VideoSegment id="Seg1">
<TextAnnotation>
<FreeTextAnnotation>George W. Bush says that February is 30 days long.</FreeTextAnnotation>
</TextAnnotation>
<MediaTime>
<MediaTimePoint>T00:00:00</MediaTimePoint>
<MediaDuration>PT13S</MediaDuration>
</MediaTime>
</VideoSegment>
<VideoSegment id="Seg2">
<TextAnnotation>
<FreeTextAnnotation>George W. Bush balla la macarena.</FreeTextAnnotation>
</TextAnnotation>
<MediaTime>
<MediaTimePoint>T00:00:13</MediaTimePoint>
<MediaDuration>PT13S</MediaDuration>
</MediaTime>
</VideoSegment>
</TemporalDecomposition>
</Video>
</MultimediaContent>
</Description>
</Mpeg7>
Voi avete 1 idea migliore o + efficiente o + sbrigativa?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 19-08-2007 alle 18:28. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
|
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Ma se io mi sposto con fseek non è che poi mi sovrascrive i caratteri che ho già scritto?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1454
|
se il numero di caratteri da scrivere è fisso potresti lasciare lo spazio.
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
--- Ma non c'è una funziona che fa l'append di due file? Io faccio che creare: - un file con i parziali - un file col totale e poi li fondo assieme, non si può fare?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
ma scusa ...
![]() il file xml lo scrivi a mano a mano? ![]() Non puoi tenertelo a memoria e scriverlo tutto in una volta così è anke MOLTO + efficiente dato che devi solo fare una chiamata al parser per scrivere tutto?
__________________
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Mi viene anche il dubbio che l'ordine dei nodi allo stesso livello in XML non importi.
Magari NON importa chi viene prima tra: <MediaTime> e <TemporalDecomposition>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
- In un buffer di caratteri? - In un array di stringhe?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 20-08-2007 alle 09:32. |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
UP.
Ultime idee/chiarimenti così procedo.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
allora se devi processare documenti xml puoi usare o SAX o DOM. Vedi te quello che più ti può sembrare migliore.
Buon lavoro. Append funziona solo in coda, se vuoi caricare in testa allora puoi: 1) crearti una lista a puntatori e aggiungere in testa ( soluzione che userei solo se so con certezza che il numero di nodi non esplode e che il nodo non occupa quanto un so ) 2) usare un file in cui mi appendo (che brutto termine) tutti i nodi alla fine e poi quando ho finito mi costruisco un file rispostando i dati ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Ma io il file XML lo voglio creare io, quindi non ha senso processare qualcosa che io non ho ancora e voglio creare. Semplicemente il mio programma legge le durate di una serie di file A/V in locale e li concatena. In questo modo però devo tener traccia di "A CHE TEMPO" finisce il primo video, poi il secondo, etc... In + il tempo totale che nel file MP7 compare prima dei segmenti, ma magari l'ordine non è indicativo. ![]() Ora è + chiaro? [PS] Fenomeno sono anni che mi chiedo cosa significhi: "~§~ Sempre E Solo Lei ~§~"?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 20-08-2007 alle 11:56. |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
L'ordine in quel caso dei nodi dello stesso livello non dovrebbe essere significativo.
Il problema è che questa cosa la dovrebbe sapere anche chi va a leggere quel file |
|
|
|
|
|
#13 | ||
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Quote:
Esistono gli XML validator come quelli W3C per HTML e CSS?! (così faccio subito la prova del nove sulla precedenza dei nodi a stesso livello)
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
||
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ho trovato questo validatore:
http://m7itb.nist.gov/M7Validation.html e non digerisce i nodi invertiti. Codice HTML:
- <Mpeg7Validation file="xml_inside.mp7.xml"> - <Error type="cvc-complex-type.2.4.a" line="32" col="20"> <msg>Invalid content starting with element 'MediaTime'. The content must match '(((("urn:mpeg:mpeg7:schema:2001":Header){0-UNBOUNDED}),((("urn:mpeg:mpeg7:schema:2001":MediaInformation)|("urn:mpeg:mpeg7:schema:2001":MediaInformationRef)|("urn:mpeg:mpeg7:schema:2001":MediaLocator)){0-1},("urn:mpeg:mpeg7:schema:2001":StructuralUnit){0-1},(("urn:mpeg:mpeg7:schema:2001":CreationInformation)|("urn:mpeg:mpeg7:schema:2001":CreationInformationRef)){0-1},(("urn:mpeg:mpeg7:schema:2001":UsageInformation)|("urn:mpeg:mpeg7:schema:2001":UsageInformationRef)){0-1},("urn:mpeg:mpeg7:schema:2001":TextAnnotation){0-UNBOUNDED},(("urn:mpeg:mpeg7:schema:2001":Semantic)|("urn:mpeg:mpeg7:schema:2001":SemanticRef)){0-UNBOUNDED},("urn:mpeg:mpeg7:schema:2001":MatchingHint){0-UNBOUNDED},("urn:mpeg:mpeg7:schema:2001":PointOfView){0-UNBOUNDED},("urn:mpeg:mpeg7:schema:2001":Relation){0-UNBOUNDED})),((("urn:mpeg:mpeg7:schema:2001":MediaTime)|("urn:mpeg:mpeg7:schema:2001":TemporalMask)){0-1},(("urn:mpeg:mpeg7:schema:2001":VisualDescriptor)|("urn:mpeg:mpeg7:schema:2001":VisualDescriptionScheme)|("urn:mpeg:mpeg7:schema:2001":VisualTimeSeriesDescriptor)){0-UNBOUNDED},("urn:mpeg:mpeg7:schema:2001":MultipleView){0-1},("urn:mpeg:mpeg7:schema:2001":Mosaic){0-UNBOUNDED},(("urn:mpeg:mpeg7:schema:2001":SpatialDecomposition)|("urn:mpeg:mpeg7:schema:2001":TemporalDecomposition)|("urn:mpeg:mpeg7:schema:2001":SpatioTemporalDecomposition)|("urn:mpeg:mpeg7:schema:2001":MediaSourceDecomposition)){0-UNBOUNDED}))'</msg> </Error> <Total warning="0" error="1" fatal="0" /> <Processed element="20" attribute="9" time="3006ms" /> </Mpeg7Validation> Codice HTML:
- <Mpeg7Validation file="xml_inside.mp7.xml"> <Total warning="0" error="0" fatal="0" /> <Processed element="20" attribute="9" time="2962ms" /> </Mpeg7Validation>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 20-08-2007 alle 17:25. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Ho capito che devi creare tu il file xml ma pasta usare una semplice libreria che ti crea l'albero DOM in memoria e poi lo scrive su file una volta finito tutto.
In C onestamente non ho idea quali siano le librerie ma dato che in java ce ne sono un fottio immagino che anche per il C ve ne sia una buona scelta quindi in quel caso dovresti semplicemente aggiungere i vari nodi all'albero DOM che ti sei creato in memoria e alla fine scrivere tutto su file. Per l'ordine mi pare che in alcuni casi può essere specificato nel DTD quindi in quel caso è normale che la validazione ti fallisca.
__________________
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Alla fine ho usato 1 file temporaneo.
Ha funzionato bene.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:37.





















