Toon posts:

[XML] Goede oplossing in mijn situatie?

Pagina: 1
Acties:

Verwijderd

Topicstarter
We hebben een kennisbank op een mssql server met 2 verschillende frontends: een access applicatie voor de invoer en asp-pagina's als webinterface. In de database worden gegevens bijgehouden over projecten, die in verschillende categoriën vallen. Er zijn ongeveer 10 categorieën.

Nu wil een derde partij (redelijk veel) extra gegevens over 1 specifieke categorie bij gaan houden. We zijn een beetje huiverig om de hele database structuur aan te passen aan hun wensen, omdat we de gegevens voor de overige 9 categorieën niet bij willen houden.

Zij willen liever geen eigen database gaan beheren.
Ik zat te denken, om aan onze database 1 veld toe te voegen, dat verwijst naar een XML pagina (1 per record), die zij onderhouden en steeds uploaden.

Hiervoor kan een standaardformulier gemaakt worden waarmee de xml pagina wordt geparst uit bijvoorbeeld een MS Word document.

Ik denk aan xml, omdat ik graag een zoekmogelijkheid op de website wil creëren.

Op deze manier hebben wij niets met hun gegevens van doen en hebben zij geen database (fysiek) nodig, maar kunnen ze toch door hun gegevens zoeken? (ik neem aan dat het mogelijk is om een aantal XML's te doorzoeken en bijvoorbeeld alle <kosten>XXX</kosten> weer te geven?).

Ik heb de search gebruikt, maar ben waarschijnlijk te xml n00b om het antwoord te vinden. Heb slechts een kennismakingspresentatie gezien en ben ook niet van plan om het technisch uit te voeren. Ik wil alleen weten of dit een wenselijk oplossing is.

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Uuuhh wacht ff:

je hebt het over:

• database
• xml
• zoeken

Zoeken doe je niet met XML, dat doe je in een database. XML is ontworpen voor data uitwisseling, dus bijvoorbeeld het uitwisselen van gegevens tussen een database en een markup laag (HTML, PDF, WORD, Excel, etc)

Volgens mij moet je je ff in gaan lezen op 'using the right tool for the right job' Wat IMHO hier gewoon je SQL db'tje is.

Stop uploading passwords to Github!


Verwijderd

Je kan wel een aantal expressies uitvoeren tijdens het parsen van een xml bestand maar voor zover ik weet kan je dat niet bij verschillende xml bestanden.
Neemt niet weg dat xml mogelijks wel interessant is voor je probleem maar misschien moet je eerder naar een soort van webservices oplossing kijkt. Daarmee kan je een soort van RPC doen dmv xml en dan zou je eventueel wel complexe akties kunnen uitvoeren op je database zonder hun toegang te geven.

Andere oplossing is misschien een gebruiker in je database aanmaken met views en dergelijke en hun enkel toegang geven tot die dingen. Persoonlijk zou ik eerder dat van webservices proberen.

Verwijderd

Met XPath kan je gemakkelijk een xml document doorzoeken.
Als je dat combineerd met xslt kan je het makkelijk presenteren.

Dit werkt alleen als je en klein aantal documenten hebt, aangezien je
dit document voor document moet uitvoeren.
Het kan wel in 1 keer, maar dan moet je de documenten mergen.

Verwijderd

Topicstarter
Xpath had ik al iets over gehoord en ga ik even verder bestuderen.

De verwarring over Database, zoeken, xml zal ik uitleggen adhv het volgende voorbeeldje:

Databeesje, tabel project

Project_ID: 123 ]
Project: Voorbeeldproject ]
Doel: Voorbeelddoel ]--------Data in MSsql DB
Omschrijving: Dit project blaat blaat... ]
Info_van_derden: project123.xml ]


XML pagina, project123.xml

Kosten: <kosten>40 euro</kosten> ]
Tijdsduur: <tijdsduur>2 weken</tijdsduur> ]------- Losse XML pagina
Enz: <enz>blaat</enz> ]


1) De losse XML pagina wordt gemaakt in bijvoorbeeld notepad, of een chiquere oplossing(?).

2) Na een zoekopdracht naar project "Voorbeeldproject" worden de gegevens uit de MSSQL database weergegeven en daaronder de inhoud van het XML document.
(dit lijkt me geen probleem)

3) Na een zoekopdracht naar kosten <50 euro moet ook "Voorbeeldproject" worden weergegeven met daaronder de inhoud van het XML document <-- is dit mogelijk met deze constructie? Mag eventueel een appart zoekveldje worden, omdat dit gedeelte later afgeschermd moet worden van de rest met een PW.

Het meest ideale zou zijn om 2 MSSql databases aan elkaar te koppelen, maar zij zien het onderhouden van een database niet zitten. Daarom dacht ik eraan om het te doen met een gekoppeld document, dat ze gewoon kunnen uploaden.
Het voordeel van XML zag ik in het feit dat XML tags gebruikt, waarop gezocht kan worden. Met Xpath zou het mogelijk moeten zijn om door meerdere XML bestanden te bladeren?
edit: ^^^^^^^^^^^^^^^^^
dit wordt dus baggertraag begrijp ik...

[ Voor 15% gewijzigd door Verwijderd op 05-02-2004 11:04 . Reden: Gaat lekker vandaag ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:27

Creepy

Tactical Espionage Splatterer

Het zoeken moet je ook gewoon aan je DMBS overlaten. Technisch gezien zou mij het beter lijken om de DB uit te breiden en een front end te maken voor de 3de partij zodat ze de boel up to date kunnen houden.

De XML's up to date houden en zelf uploaden lijkt mj iets meer werk dan met een front end de info bewerken. Er natuurlijk wel voor zorgen dat ze alleen de dingen kunnen bewerken die voor hun relevant zijn.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Creepy schreef op 05 februari 2004 @ 11:08:
Het zoeken moet je ook gewoon aan je DMBS overlaten. Technisch gezien zou mij het beter lijken om de DB uit te breiden en een front end te maken voor de 3de partij zodat ze de boel up to date kunnen houden.

De XML's up to date houden en zelf uploaden lijkt mj iets meer werk dan met een front end de info bewerken. Er natuurlijk wel voor zorgen dat ze alleen de dingen kunnen bewerken die voor hun relevant zijn.
Ja na het typen van die verhalen hierboven was ik ook min of meer tot die conclusie gekomen. ;)

Het probleem is dan alleen een bj: van wie is de database? Maja, ik ga het wel even bespreken.

Verwijderd

Ik zou de xml wel uit elkaar trekken en in meerder colommen/tabellen in de db zetten.
Dan kan je veel makkelijker/sneller zoeken enzo.

Mensen xml laten tikken (of zelfs laten zien) kan je ze niet aandoen.
Je moet daar een frontend voor hebben.

Als je ze disconnected de data wil laten invoeren, zou ik een windows app
schrijven die de data upload met xml via een webservice.

Verwijderd

Topicstarter
Verwijderd schreef op 05 februari 2004 @ 11:16:
Ik zou de xml wel uit elkaar trekken en in meerder colommen/tabellen in de db zetten.
Dan kan je veel makkelijker/sneller zoeken enzo.

Mensen xml laten tikken (of zelfs laten zien) kan je ze niet aandoen.
Je moet daar een frontend voor hebben.

Als je ze disconnected de data wil laten invoeren, zou ik een windows app
schrijven die de data upload met xml via een webservice.
Dat notepad was ook niet echt serieus bedoeld. Ik denk dat het een VB formulier oid zal worden.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Ik heb ook al eens zo'n probleem moeten oplossen voor een klant van ons. Wat ik toen gedaan heb is de mogelijkheid aanbieden om vrije velden toe te voegen aan een gegeven record uit een tabel.
Wat ik in jouw geval zo doen is een extra tabel toevoegen aan je db.

Een met project_vrijveld, hier kan een projecteigenaar de namen van velden definieren die ingevuld moeten kunnen worden. Definitie:
(vrije_veld_id, project_id, veld_naam, waarde)

Je kunt er ook over denken om voor verschillende types verschillende veldwaardes te maken (int, numeric, varchar, memo), maar das leuk voor later. In eerste instantie zou ik er lekker een lange varchar of een memo-veld van maken.

Het kost wat werk om dit werkend te krijgen, maar dan heb je ook wat fraais (denk ik :)).
Pagina: 1