Philips MSX 2 | NMS 8250 | 2 disk drives | 2 cartridge sloten | 256 Kb RAM | toetsenbord | TV connection | 3,58 MHz | geen hard disk |
Hier weten ze wat meer over XML dan in W&G.
Verwijderd
Da's niet helemaal waar natuurlijk. Maar het kan welOp vrijdag 14 september 2001 15:45 schreef Peopeo het volgende:
Als ik mijn kennis van Object-oriented & relationeel modelleren volg, dan zou alle data als attributen moeten worden opgenomen.
code:
1
2
3
| <somedata value="blaaterblasdjbl aldblnbl werbljblada" ></somedata> of <somedata>blaaterblasdjbl aldblnbl werbljblada</somedata> |
Jij maakt de keuze, en die ligt lang niet altijd voor de hand...
Daar kom ik net vandaan (zie eerste reply).
Ik ben nergens welkom.
Ik ben nergens welkom.
Philips MSX 2 | NMS 8250 | 2 disk drives | 2 cartridge sloten | 256 Kb RAM | toetsenbord | TV connection | 3,58 MHz | geen hard disk |
Verwijderd
Om attributen of wat er tussen je tags staat uit xml te halen gebruik je andere function calls. Verder als je naar het structurerende (
) principe van xml kijkt zie je bijv :
<labelA a1="a">
<labelB>
Etc...
</labelB>
</labelA>
<labelA a1="b"/>
Hier zie je duidelijk waarom je er voor kiest a1 een attribute te maken en LabelB een nieuwe tag...
ps. kijk ook naar xslt om het concept nog duidelijker te krijgen
Hierin komt nl. wat mij betreft de kracht van xml goed naar voren. Met dingen als xpath ga je helemaal uit je dak! Check out:
http://www.phpxml.org/
doei,
Fetishcoder
<labelA a1="a">
<labelB>
Etc...
</labelB>
</labelA>
<labelA a1="b"/>
Hier zie je duidelijk waarom je er voor kiest a1 een attribute te maken en LabelB een nieuwe tag...
ps. kijk ook naar xslt om het concept nog duidelijker te krijgen
http://www.phpxml.org/
doei,
Fetishcoder
De beslissing om attributen op te nemen is eigenlijk erg verwarrend. Het komt volledig voort uit de bestaande SGML en HTML standaarden.
Vanuit het oogpunt van semi-gestructureerde data (waar XML een toepassing van is) is de aanwezigheid van attributen totaal overbodig. Het data-model van semi-gestructureerde data bestaatin feite alleen maar uit knopen, pijlen tussen deze knopen en labels bij de knopen of de pijlen. In het geval van XML is het het meest logisch om de labels bij de knopen te zetten. In het generieke data-model van semi-structured data is er dus geen begrip attribuut.
Er zijn dan ook groepen mensen die helemaal geen attributen willen gebruiken. De meest gebruikte regel is echter attributen gebruikt kunnen worden voor gegevens die alleen belangrijk zijn voor het 'systeem'. Daarbij kan je denken aan identifiers, links naar andere knopen, breedtes van tabellen enzovoorts. Zelf zondig ik echter vaak tegen deze regel omdat XML bestanden die veel gebruik maken van attributen in plaats van sub-elementen over het algemeen veel makkelijker in te lezen zijn
.
Uiteraard is het in ieder geval zo dat je alleen attributen moet gebruiken indien de data die in de waarden van de attributen moet komen geen substructuur bevat. Daarvoor heb je absoluut sub-elementen nodig, wat eigenlijk al precies aangeeft dat er een onduidelijke ambiguiteit is bij attributen versus elementen
.
In principe is alles volledig afhankelijk van je eigen smaak. Er zijn simpelweg geen goede regels op te stellen voor of tegen het gebruik van attributen.
Als je er echt veel meer over wilt weten, kan ik je het boek "Data on the Web, from relations to Semistructured Data and XML" aanraden. Het boek is geschreven door mensen afkomstig uit de relationele database wereld. Ondanks de zeer grote gebreken van het boek, is het wel een goede introductie in het algemenere begrip semi-structured data. XML kan je dan iets beter in een context plaatsen.
Vanuit het oogpunt van semi-gestructureerde data (waar XML een toepassing van is) is de aanwezigheid van attributen totaal overbodig. Het data-model van semi-gestructureerde data bestaatin feite alleen maar uit knopen, pijlen tussen deze knopen en labels bij de knopen of de pijlen. In het geval van XML is het het meest logisch om de labels bij de knopen te zetten. In het generieke data-model van semi-structured data is er dus geen begrip attribuut.
Er zijn dan ook groepen mensen die helemaal geen attributen willen gebruiken. De meest gebruikte regel is echter attributen gebruikt kunnen worden voor gegevens die alleen belangrijk zijn voor het 'systeem'. Daarbij kan je denken aan identifiers, links naar andere knopen, breedtes van tabellen enzovoorts. Zelf zondig ik echter vaak tegen deze regel omdat XML bestanden die veel gebruik maken van attributen in plaats van sub-elementen over het algemeen veel makkelijker in te lezen zijn
Uiteraard is het in ieder geval zo dat je alleen attributen moet gebruiken indien de data die in de waarden van de attributen moet komen geen substructuur bevat. Daarvoor heb je absoluut sub-elementen nodig, wat eigenlijk al precies aangeeft dat er een onduidelijke ambiguiteit is bij attributen versus elementen
In principe is alles volledig afhankelijk van je eigen smaak. Er zijn simpelweg geen goede regels op te stellen voor of tegen het gebruik van attributen.
Als je er echt veel meer over wilt weten, kan ik je het boek "Data on the Web, from relations to Semistructured Data and XML" aanraden. Het boek is geschreven door mensen afkomstig uit de relationele database wereld. Ondanks de zeer grote gebreken van het boek, is het wel een goede introductie in het algemenere begrip semi-structured data. XML kan je dan iets beter in een context plaatsen.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Verwijderd
Onthoudt goed dat XML trees van elements uit heterogene datasets kunnen bestaan, dus meerdere levels diep, terwijl tabellen uit bv relationele databases bestaan uit 1 level diep, nl. alleen de velden van die tabel.Op vrijdag 14 september 2001 15:45 schreef Peopeo het volgende:
Ik wil graag een database in XML onderbrengen, en ik zit met een vraagstuk(je) over de structurering.
Als je kijkt naar hoe ADO recordset objects worden omgezet naar XML (dmv de save method) dan krijg je een XML object met daarin lege elements met alleen attributes. Dit is nauwelijks leesbaar. (IMHO).Als ik mijn kennis van Object-oriented & relationeel modelleren volg, dan zou alle data als attributen moeten worden opgenomen. Ik ga er dan vanuit dat de XML-elementen corresponderen met de objecten/records uit de database.
Als ik echter alle data als attributen opneem, dan komt er niks tussen de XML-tags te staan. Dat lijkt me niet helemaal juist. Welke denkfout maak ik, of beter gezegd, welke data moet als attribuut worden opgenomen en welke data moet tussen de tags worden geplaatst?
Als je normale relationele database modelleertechnieken gebruikt, dan krijg je tabellen. Zet die tabellen in een XML document en je bent klaar. Eventueel een bijbehorend XSchema, maar echt nodig is dat niet.
XML laat wel, zoals gezegd, toe dat je meerdere XML trees (tabellen) samenneemt tot 1 hierarchische tree, waarbij bv geen relaties tussen de verschillende samengenomen XML trees hoeft te bestaan. Als je dat niet gebruikt, lijkt het me eerlijk gezegd zinloos om XML te gebruiken voor je database. Het is nl. trager en minder flexibel dan bv een RDBMS.
Bedankt.
Philips MSX 2 | NMS 8250 | 2 disk drives | 2 cartridge sloten | 256 Kb RAM | toetsenbord | TV connection | 3,58 MHz | geen hard disk |
Pagina: 1