Archief - XML/xHTML: hoe xml in html plaatsen met css?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Tsjernobyl

Legacy Member
Ik heb .xml file, die is gelinkt met een .css bestand.
Als ik dubbelklik krijg ik een opgemaakt xml document. (so far so good)

Nu, ik zou graag mijn xml data inplementeren in een html file. Gaat dat?
en opmaken met css.

en op welke mannier dan.

thx

Kn0t

Legacy Member
i-frame?

'k ben meestal de laatste om frames aan te raden, maar ik denk dat er hier geen andere oplossing is, tenzij ge die xml en css aan de server-kant verwerkt.

Tsjernobyl

Legacy Member
ja, alles met aan client kant draaien.
java kan ik niet, dus dat zal niet gaan.

iframe, dus een xml document in een frame plaatsen. Ja...mss een oplssing, merci.

Nog een (dom) vraagje. Ik kan mijn xml opmaken, kleur geven centreren en possitioneren en bla bla, enkel wil ik een </br> want de tekst komt nu gewoon naast elkaar.

bv
<item1> eerste item </item1>
<item2> tweede item</item2>
<item3> derde item </item3>

het via css wil ik mijn xml zo opmaken:

- eerste item
- twede item
- derde item

hoe doe ik dat?

Kn0t

Legacy Member
Ahja javascript + DOM is idd ook een oplossing, dat ik daar niet aan gedacht heb :p
(ik heb het zelfs nog dit semester gezien op school :s)

Soit, in plaats van css te gebruiken om je xml document op te maken, kan je ook gebruik maken van xslt (http://www.w3schools.com/xsl/default.asp), da heeft meer mogelijkheden.

Als je toch css wil gebruiken: display:block; aan je element geven zal er geloof ik voor zorgen dat ze elk op een aparte lijn komen. Om er dan een opsomming van te maken kan je misschien een background-image definiëren.

edit: ik meen mij te herinneren ooit ergens iets gelezen te hebben over het invoegen van tekst met css. Dus dan zou je bvb voor elk item een '-' kunnen invoegen, maar ik dacht dat het niet door alle browsers ondersteund werd.

orez

Legacy Member
Tsjernobyl zei:
ja, alles met aan client kant draaien.
java kan ik niet, dus dat zal niet gaan.

iframe, dus een xml document in een frame plaatsen. Ja...mss een oplssing, merci.

Nog een (dom) vraagje. Ik kan mijn xml opmaken, kleur geven centreren en possitioneren en bla bla, enkel wil ik een </br> want de tekst komt nu gewoon naast elkaar.

bv
<item1> eerste item </item1>
<item2> tweede item</item2>
<item3> derde item </item3>

het via css wil ik mijn xml zo opmaken:

- eerste item
- twede item
- derde item

hoe doe ik dat?

in xml doe je dat met

* { display: block; }

in je css te plaatsen

Tsjernobyl

Legacy Member
ja merci, die display block werkt perfect!!

Spijtig dat een html document zijn data niet kan halen uit een xml document.
Het zou toch technisch mogelijk zijn.

Ja ik zou xsl eens moeten bekijken, maar ik ben juist overgeschakeld naar css, en hup naar de volgede taal (al is de basis het zelfde)
xsl, wat voor voordelen heeft het...effectieve voordelen?

xml

Legacy Member
Met xsl kan je zelf de volgorde van je elementen bepalen, berekeningen maken, controlestructuren gebruiken (if, while,.. ), gewone tekst/opmaak toevoegen.

Eigenlijk zou xsl dus voor jou gebruik hier veel beter zijn dan css. :)


*edit: heb hier een zééér zéééér eenvoudig oefeningske daarvan online staan.. Bij de xsl zie je bvb staan "onbekend" wanneer er niets is ingevuld, enzo. Dat kan je met css niet.

Met css:
http://www.ti-aalst.be/files/ti3_databanken/adresboek_css.css
http://www.ti-aalst.be/files/ti3_databanken/adresboek_css.xml

Met xsl:
http://www.ti-aalst.be/files/ti3_databanken/adresboek_xslt.xml
http://www.ti-aalst.be/files/ti3_databanken/adresboek_xslt.xsl

Tsjernobyl

Legacy Member
XML AANMAKEN

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
.
</catalog>

DAN XSL FILE MAKEN


<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>


---------------------------------------

Dit zou dus een code kunnen zijn van xml met xslt

xml

Legacy Member
Ahja, voor je aan xsl begint, best ook eens naar XPath kijken. Wordt nl gebruik om uw elementen aan te spreken.

Tsjernobyl

Legacy Member
lang leve xsl...het draaid toch op de client hoop ik !!

In iedergeval, heel veel dank voor de nuttige info allemaal

Smoerf

Legacy Member
Like *duh*

Je maakt je xml, je xsl en dan in je html bestand volgend javascript (is geen java). Je kan deze code plaatsen waar je je xml inhoud wil zien verschijnen.
Code:
<script type="text/javascript">
// De xml laden 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("xmlfile.xml")

// de xsl laden
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("xslfile.xsl")

// En omzetten maar!
document.write(xml.transformNode(xsl))
</script>

dJeez

Legacy Member
xml zei:
En dan kom ik op je site met FireFox en zie ik niets. :p
Sjah, dat heb je als je client side XSL wil gebruiken uiteraard. Je kan die (momenteel tech) echt beter door de server laten omzetten naar XHTML, via serverside scripting (ASP, PHP, Perl, Python, ...).

xml

Legacy Member
dat heb je vooral als je met DOM wil werken. gewoon xsl en xml gaat hoor, 't is maar wanneer je 't wil integreren met DOM dat het foutloopt.

Maar het is idd zoals je zegt, voorlopig beter nog server side.

Spiderken

Legacy Member
hoi iedereen, ik zit ook met zo'n probleempje,
ik heb dus een xml file aangemaakt en ik wil deze als tabel weergeven in mijn xhtml bestand, de xml heb ik gekoppeld aan dezelfde css als mijn xhtml en hierin de table tags opgemaakt.

ik heb de xml via een xml data island in de xhtml gestoken, dit werkt allemaal in Firefox maar in Internet Explorer is gans de pagina verkracht (met witruimte en lelijke scrollbars) :s

ik zeg er direct bij dat ik van xsl geen verstand heb dus als iemand een andere oplossing heeft, deze is zeer welkom :)

voorbeeld : http://users.pandora.be/spiderken/probleem/firefox.jpg
http://users.pandora.be/spiderken/probleem/ie.jpg

dit is de code in mijn xhtml ==>
<object data="uitslagen.xml" width="100%" height="300px" type="text/xml"></object>

wat ik hier gemerkt heb is dat de height att niet in % kan gezet worden en ook niet weggelaten

dit is mijn css ==>

table {
width:540px;
border-style:solid;
border-color:#000066;
font-family:times;
font-weight:bold;
color:#000066;
font-size:14px;
display:table;
background-image:url(images/background-repeat2.png);
z-index:2;
}

tr {
padding:2px;
border-style:solid;
border-color:#000066;
width:100%;
display:table-row;
}

td {
padding:2px;
border-style:solid;
border-width:thin;
border-color:#000066;
display:table-cell;
}

toch al bedankt...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan