Newsgroup: it.comp.lang.visual-basic
Titolo: [VB6] Documentazione MXL

Sono almeno 5 giorni che giro per la rete in cerca di documentazione sui 
file XML.
Trovo qualcosa ma tutto in inglese e ne capisco poco.
Il mio problema č che dovrei fare un file con questo schema, usando 
DOMDocument, il fatto č che non ci capisco niente.
- <xs:schema xmlns:xs="
http://www.w3.org/2001/XMLSchema
" 
elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:element name="Ricette">
- <xs:annotation>
  <xs:documentation>Elemento strutturale primario</xs:documentation>
  </xs:annotation>
+ <xs:complexType>
- <xs:sequence>
  <xs:element ref="Header" />
  <xs:element ref="Telematico1" />
  <xs:element ref="Telematico2" />
  <xs:element ref="Telematico3" />
  <xs:element ref="Testata" />
  <xs:element ref="Ricetta" maxOccurs="unbounded" />
  </xs:sequence>
  </xs:complexType>
  </xs:element>
- <xs:element name="Testata">
- <xs:annotation>
  <xs:documentation>Elemento strutturale che comprende tutti i dati comuni e 
riepilogativi di tutte le ricette</xs:documentation>
  </xs:annotation>
- <xs:complexType>
- <xs:sequence>
  <xs:element ref="RegStruttura" />
  <xs:element ref="CodAsl" />
  <xs:element ref="CodStruttura" />
  <xs:element ref="TotRic" />
  <xs:element ref="TotPrest" />
  <xs:element ref="TotImpCaricoAss" />
  <xs:element ref="TotValRicInviate" />
  <xs:element ref="TotImpCaricoSSN" />
  <xs:element ref="TotRicNuove" />
  <xs:element ref="TotRicVariaz" />
  <xs:element ref="TotRicCanc" />
  <xs:element ref="TotStrutture" />
  </xs:sequence>
  </xs:complexType>
La differenza tra nodo e element, tutti gli esempi che ho trovato usano 
IXMLDOMElement e non IXMLDOMNode perchč?
Poi quella xs: non me la fa scrivere dice che non posso mettere i due punti 
nel nome dell'elemento.
Mi indicate qualche link dove trovare qualcosa che mi chiarisca le idee in 
italiano possibilmente. 

 italiano possibilmente. 
http://xml.html.it/guide/leggi/59/guida-xmldom/
ciao
stefano

 dal manuale.
Non ho capito che vuoi dire "come fosse un file di testo".
Mi fai vedere qualche riga di esempio.
Il loro esempio č uno schema, ma di concreto qual' č fondamentalmente il 
file che vogliono.
Ti dicono di scaricare il file ma in concreto non scarica niente č solo a 
video.
Grazie Carmelo 

 video.
Per capirci parli di prestazioni ambulatoriali no?
Immagino che il file che devi creare sia come questo:
| <?xml version="1.0" encoding="UTF-8"?>
| <Ricette xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
" xsi:noNamespaceSchemaLocation="XmlPrestazione1.7.xsd">
| 	<Header>Text</Header>
| 	<Telematico1>Text</Telematico1>
| 	<Telematico2>Text</Telematico2>
| 	<Telematico3>Text</Telematico3>
| 	<Testata>
| 		<RegStruttura>130</RegStruttura>
| 		<CodAsl>105</CodAsl>
| 		<CodStruttura>123A45</CodStruttura>
| 		<TotRic>1</TotRic>
| 		<TotPrest>1</TotPrest>
| 		<TotImpCaricoAss>1.15</TotImpCaricoAss>
| 		<TotValRicInviate>1.50</TotValRicInviate>
| 		<TotImpCaricoSSN>1.35</TotImpCaricoSSN>
| 		<TotRicNuove>1</TotRicNuove>
| 		<TotRicVariaz>0</TotRicVariaz>
| 		<TotRicCanc>0</TotRicCanc>
| 		<TotStrutture>1</TotStrutture>
| 	</Testata>
| 	<Ricetta>
| 		<FlagOperazione>T</FlagOperazione>
| 		<RegStrutturaRic>130</RegStrutturaRic>
| 		<CodAslRic>105</CodAslRic>
| 		<CodStrutturaRic>123A45</CodStrutturaRic>
| 		<CodRegione>130</CodRegione>
| 		<AnnoProduzione>04</AnnoProduzione>
| 		<ProgRicettaRicettario>123456789</ProgRicettaRicettario>
| 		<CheckDigit>q</CheckDigit>
| 		<CodiceAss>71/hr+C16fGMBQes4h+6SkbEDAPbhkrS63uAziWZqueBcNL5H4HqFw04Rfsua1YJW2an0blzDGmXaZJ9wJMwrWghzpRhGpQZDEApOK17wyQ3VjYgA1Ua1wYDkt0vYMsVSH31G3CQB6Klo5lkZd4P0dChbFxZI2cF+0D2fAKRKCs=</CodiceAss>
| 		<ProgRicettaStruttura>3</ProgRicettaStruttura>
| 		<SiglaProvincia>PE</SiglaProvincia>
| 		<ASLAssistito>105</ASLAssistito>
| 		<StatoEstero/>
| 		<IstituzCompetente/>
| 		<NumIdentPers/>
| 		<NumIdentTess/>
| 		<Suggerita/>
| 		<Altro/>
| 		<DataCompilazione>2004-09-01</DataCompilazione>
| 		<DataSpedizione>2004-09-01</DataSpedizione>
| 		<TipoRic/>
| 		<CodiceDiagnosi/>
| 		<TipoEsenz>1</TipoEsenz>
| 		<CodEsenzione/>
| 		<CodRaggrup/>
| 		<TotPrestazioni>2</TotPrestazioni>
| 		<TotValoreRicetta>0040.29</TotValoreRicetta>
| 		<FranchigiaCaricoAss>0036.15</FranchigiaCaricoAss>
| 		<QuotaCaricoAss>0000.00</QuotaCaricoAss>
| 		<ImpCaricoSSN>0004.14</ImpCaricoSSN>
| 		<Prestazione>
| 			<CodicePresidio>003201</CodicePresidio>
| 			<CodicePrest>87.17.1</CodicePrest>
| 			<CodReparto>we</CodReparto>
| 			<BrancaPrestazione/>
| 			<DataPrenotazione>2004-09-01</DataPrenotazione>
| 			<DataErogInizio>2004-09-01</DataErogInizio>
| 			<DataErogFine>2004-09-01</DataErogFine>
| 			<TipologiaPrestazione>PA</TipologiaPrestazione>
| 			<QtaPrest>1</QtaPrest>
| 			<TariffaPrest>0022.21</TariffaPrest>
| 		</Prestazione>
| 	</Ricetta>
| </Ricette>
Io mi sono creato un array che passo a questa funzione:
Public Type RigoXML
  NomeCampo As String
  Value As String
End Type
| Private Sub ScriviArrayRigoXML(myArr() As RigoXML, ff As Integer, NTabIndentazione As Integer)
| Dim i As Long
| Dim Indent As String
| Dim myRow As String
| 
|   Indent = String(NTabIndentazione, vbTab)
|   
|   For i = LBound(myArr) To UBound(myArr)
|     If myArr(i).Value = "" Then                       'per ora se "" considero campo Null
|       myRow = Indent & "<" & myArr(i).NomeCampo & "/>"
|     Else
|       myRow = Indent & "<" & myArr(i).NomeCampo & ">" & myArr(i).Value & "</" & myArr(i).NomeCampo & ">"
|     End If
|     Print #ff, myRow
|   Next i
| End Sub
L'array lo popolo tipo:
aXMLTesta(clR("progricettastruttura")).Value = Rs.Fields("IDTABELLA").Value
Usando una collection per sezione per "indicizzare" l'array come il file
xml per capirci:
  Set clT = New Collection
  aXMLTesta(0).NomeCampo = "FlagOperazione"
  aXMLTesta(1).NomeCampo = "RegStrutturaRic"
  aXMLTesta(2).NomeCampo = "CodAslRic"
  aXMLTesta(3).NomeCampo = "CodStrutturaRic"
  aXMLTesta(4).NomeCampo = "CodRegione"
  ..... ecc
  For i = LBound(aXMLTesta) To UBound(aXMLTesta)  
    clR.Add CStr(i), LCase$(aXMLTesta(i).NomeCampo)
  Next i
 

 End Type
Allora tu passi alla routine array, ff che sarebbe il numero del file ma 
NTabIndentazione cos'è


aXMLTesta e clR cosa sono? la collection è clT e non clR
Ciao Carmelo 

 aXMLTesta e clR cosa sono? la collection è clT e non clR
Sono un array per ogni sezione dell'xml, tiene il nome e il valore (vedi
type del post sopra)
Dim aXMLPresidio() As RigoXML   'Dati della struttra
Dim aXMLTesta() As RigoXML      'Testa delle ricette
Dim aXMLRighi() As RigoXML      'righi delle ricette
La collection ho clt, clr ecc. Una per ogni array. Come ti ho detto la uso
solo per indicizzare l'array per nome e non per numero. Riguardando
potrebbe essere una semplice ENUM al posto di ogni collection
Enum Presidio
EnumTesta
EnumRighi


Presumo che al file dai estenzione .XML
L'hai già testato? voglio dire se già il tuo cliente ha spedito il tutto a 
SistemaTs e ha accettato i dati.
Devo provare a scrivere a SistemaTs se mi mandano via email un file xml di 
esempio con magari due ricette già fatte. Mi sarebbe più utile, perchè in 
quello schema non ci ho capito niente.
Ciao Carmelo

 quello schema non ci ho capito niente.
Hai provato ad aprire lo schema con qualche sw? Magari ti fa vedere la
campizzazione e puoi provare a farci qualcosa.

 campizzazione e puoi provare a farci qualcosa.
Ma il sw se non trova il file di schema (.XSD mi pare) non apre niente, e il 
file .XSD dove lo trovo.
Come ho già detto è solo a video. Ho copiato il  comtenuto in HTML e mi 
salva un file di testo TXT.
Nel sito SistemaTs non c'è un link dove poter comunicare via email.
Ora provo a fare come hai fatto tu. Sono nella m...da.
Visto che tu sei gia uscito da questo casino, non è che mi puoi mandare 
(anche in privato) qualcosa di concreto che mi possa aiutare? Con questi XML 
francamente non ci capisco niente. Avevo fatto qualcosa, giusto per 
memorizzare dei parametri di un programma come usa VB2005, ma era poca cosa.
Meno male che qui da noi (RC) hanno tempo di trasmettere fino al mese 
Luglio.
Comunque ti ringrazio
Carmelo 

 Nel sito SistemaTs non c'è un link dove poter comunicare via email.
L'XSD lo dettero loro.
Comunque a vedere quello che hai postato il tracciato non è lo stesso. In
fondo sono 2 società diverse e due regioni diverse.
Dovrebbero darti qualcosa loro.
Comunque il mio cliente invia solo il .xml.
Se non sai prima come deve essere creato l'xml è un problema però.

 Se non sai prima come deve essere creato l'xml è un problema però.
Infatti il problema è proprio questo. Lo schema è una cosa il file XML è 
un'altra.
Per questo volevo vedere come era fatto il file XML.
Visto che tu hai fatto il programma, non potresti spedirmi il file XML che 
ne viene fuori, magari con 2 o 3 prestazioni, giusto per vedere com'è fatto.
Ciao Carmelo 

 ne viene fuori, magari con 2 o 3 prestazioni, giusto per vedere com'è fatto.
Come ti ripeto non penso sia lo stesso tracciato.
L'esempio è quello di alcuni post sopra. L'unica cosa strana è il codice
assistito che è "criptato".

 assistito che è "criptato".
Che io sappia la SOGEI è unica per l'Italia, non vedo perchè dovrebbero fare 
un tracciato diverso per regione.
Non ti chiedo l'esempio di codice VB, ma XML.
Alcuni post sopra tu dici, testuale, che hai fatto il file XML (Partendo dal 
loro esempio xml), io questo esempio non l'ho trovato sul loro sito.
Nell'informativa che ho letto, non parla di codice criptato. E poi se cripto 
il codice loro come lo leggono?
Ciao Carmelo

 il codice loro come lo leggono?
Come ti ho già detto, immagino che il tracciato che stai tentando di fare
non è quello che ho fatto io. Riconosci i campi che ti ho messo sopra come
campi del tuo tracciato?

 campi del tuo tracciato?
Scusa ma non avevo capito che quello era l'esempio di XML
Anche perchè tu sotto metti effettivamente i dati delle prestazioni, ma in 
queste righe metti solo Text (al posto di cosa?) e pensavo fosse un esempio 
fatto approssimativamente non l'originale.
<Header>Text</Header>
| <Telematico1>Text</Telematico1>
| <Telematico2>Text</Telematico2>
| <Telematico3>Text</Telematico3>
Oggi ho chiamato il numero della SOGEI per delucidazioni ma quelli che 
rispondono non ne capiscono niente.
Ciao Carmelo 

 rispondono non ne capiscono niente.
Prova a partire da qui, ma ho alcuni dubbi che usiamo lo stesso tracciato:
http://www.google.com/search?hl=it&client=opera&rls=it&hs=oIv&q=Decreto+27+luglio+2005+comma+5&btnG=Cerca&lr=
https://sistemats.sanita.finanze.it/simossDocumentation/normativa/Decreto-27-luglio-2005_comma_5.pdf