Avatar billede cyperangel Nybegynder
26. juni 2003 - 16:00 Der er 27 kommentarer og
2 løsninger

færdig kode til at sætte XML ind i HTML dokument

Ja, for at sige det kort. JEg har læst på W3schools om XML og XLS, og jeg fatter stadig nada.

Enten har jeg brug for en forklaring for dummies, eller også har jeg brug for noget færdigt kode som jeg kan klippe/klistre ind i min html side, og bruge der.

Her er hvad jeg gerne vil ha:

http://www.camelotherald.com/guilds/guild.php?s=Bors&g=1113
Denne side stammer fra dette XML
http://www.camelotherald.com/guilds/Bors/1113.xml

Hvordan kan jeg stoppe informationen fra XML siden ind i en html side jeg selv har lavet?

og links til w3 hjælper mig som sagt ikke.
JEg smider nogle ekstra points in i det, og så håberjeg at jeg må stille en million dumme spørgsmål

Hvis det er nogen hjælp, kan jeg finde ud af javascript og PHP til husbehov...
Avatar billede awolffdk Nybegynder
26. juni 2003 - 16:37 #1
Hejsa.
Jeg kan ikke åbne nogle af de angivne links får følgende fejl:
Systemet kunne ikke finde den angivne ressource. Der opstod en fejl under behandling af ressourcen 'http://www.camelotherald.com/mythic.dtd'.

Der er flere måde at vise en XML fil på, men da dens indhold ikke skal behandles, må det være nok med et stylesheet, altså en XSL-fil

Som sagt kan jeg ikke se filen via nettet, men prøv at sende den via mail, så kan jeg bedre kigge på den
Avatar billede hoejrup Nybegynder
26. juni 2003 - 16:42 #2
Jeg kan godt forstå, at du fatter nada Men nu findes de gyldne dråber hellere ikke
på w3schools.com, for du får kun indsigt i det grundlæggende.

xml og xslt bliver transformateret til f.eks. et xhtml dokument, via Jscript, Sablotron
eller en Saxon parser.

/per
Avatar billede awolffdk Nybegynder
26. juni 2003 - 16:47 #3
Man kan da godt transformere direkte med XSL, hvor man i XSL bestemmer udseendet og indhold af XHTML dokumentet
Avatar billede cyperangel Nybegynder
26. juni 2003 - 17:10 #4
okies.
Awolffdk jeg skal bruge en email så...
Hoejrup er, Jscript, Sablotron og Saxon? Ka jeg lige få den på dansk også? Som jeg sagde, jeg er total nybegynder.
Jeg ka finde ud af HTML, javascript, og PHP, men XLS; parsere og hvad ved jeg... Nada ide om hvad foregår...

lige nu er camelotherald, hvor filerne ligger nede tror jeg.
Avatar billede awolffdk Nybegynder
26. juni 2003 - 17:14 #5
aws@adslhome.dk

Den plejer at virke :-)
Avatar billede roenving Novice
26. juni 2003 - 17:14 #6
Jscript er M$'s implementering af javascript, så den klarer du nok ...
Avatar billede arne_v Ekspert
26. juni 2003 - 18:10 #7
En af de ting der nok forvirrer dig er at XML kan bruges på mange måder
i web sammenhæng:

1)  XML konverteres til HTML/XHTML direkte af kode på server

2)  XML konverteres til HTML/XHTML via XSLT på server

3)  XML konverteres til HTML/XHTML via XSLT og JavaScript i browser

4)  XML formateres via CSS i browser

Da jeg heller ikke kan bruge ovenstående links, så kan jeg ikke
gennemskue hvilken måde du vil gøre det på.

Det er imidlertid vigtigt at holde de forskellige ting adskilte -
ellers så bliver det forvirrende.
Avatar billede janegil Nybegynder
26. juni 2003 - 18:28 #8
Har du laget XML-siden selv? I så fall kan du koble den til et XSL-stilark vha en processing instruction, se eksempel i toppen av sourcen for http://heima.olivant.fo/~styrheim/xml/prisliste/prisliste.xml.

Men hvis du vil transformere noen andres XML, kan du jo ikke sette inn noen processing instruction. W3C sier at de skal gjøre noe med saken, http://www.w3.org/TR/xml-stylesheet/ men inntil videre skal du programmere deg ut av det for å få brukt andres XML i din egen HTML. I ditt tilfelle med PHP på serveren, eller med javascript i browseren. Du oppnår nok mest stabile resultater ved å programmere på serveren.
Avatar billede cyperangel Nybegynder
26. juni 2003 - 19:06 #9
serveren skulle være oppe igen
Og nej, jeg har ikke lagt det op selv, det er et XML fra nogen andre jeg skal formatere og vise
Og jeg aner ikke hvordan....
Avatar billede janegil Nybegynder
26. juni 2003 - 19:15 #10
Hvis du kan få PHP til å hente XML til serveren, erstatte linje 2 med en processing instruction om å bruke ditt XSLT stilark, så skal du 'bare' lære deg XSLT for å få det til å kjøre.
Avatar billede cyperangel Nybegynder
26. juni 2003 - 19:21 #11
http://www.cyperdesign.dk/test/1113.xml

Jeg har uplaodet det til min egen server.. men skal stadig finde ud af hvordan man kan editere det ind it et html dokument, med noget syle hen over.....

Og da den bliver opdateret to gange om dagen mindst, så skal den altså kunne ligge på deres server, og hentes derfra, og ikke på min
Avatar billede cyperangel Nybegynder
27. juni 2003 - 00:24 #12
der er åbenbart ikke nogen der kan hjælpe mig med det her... Æv
Avatar billede awolffdk Nybegynder
27. juni 2003 - 07:36 #13
Her til morgen kan vi andre da se hvad det er for nogen sider, da links virker igen......
Nu er spørgsmålet, hvad skal du bruge det til? Skal du præsentere det på din egen side, eller hvad?
Så vidt jeg kan se på det ovenstående, så bliver dokumentet opdateret fra anden side flere gange om dagen, og så skal du for hver opdatering downloade dokumentet og rette det til med dit eget stylesheet, såfremt du kun vil bruge XSLT. Måske kan det lade sig gøre at bruge et eksternt dokument ved hjælp af X-PATH og via et script koble det sammen med dit eget XSLT, men det vil kræve at du har adgang til dokumentet, men det må du vel også have ikraft af at du kan henvise til den rene XML.
Jeg har ikke prøvet i PHP, men har lavet noget i ASP. Det kræver selvfølgelig at det kører på en server. I princippet kan jeg ikke se noget til hinder for at man kan henvise til et eksternt dokument og et lokalt XSLT ved hjælp af X-PATH
Avatar billede awolffdk Nybegynder
27. juni 2003 - 07:49 #14
Du får lige den kode der skal til for at hente dokumentet. Nedenstående er skrevet i JSCRIPT men skulle kunne konverteres til JAVASCRIPT uden problemer

<script language="jscript" runat="server">
// angiver XML placering
var strXML = Server.MapPath("http://www.camelotherald.com/guilds/Bors/1113.xml
");

// indlæser XML dokumentet
var oSource = Server.CreateObject("MSXML2.DOMDocument");
oSource.async = false;
oSource.load(strXML);
oSource.setProperty ("SelectionLanguage", "XPath");

var strXPath = "/";
var oNoder = oSource.selectSingleNode(strXPath);

var strXSL = Server.MapPath("xsl/dinEgen.xsl");

// indlæser XSL dokumentet
var oStylesheet = Server.CreateObject("MSXML2.DOMDocument");
oStylesheet.async = false;
oStylesheet.load(strXSL);


Response.CharSet = "UTF-8";
Response.ContentType = 'text/html';

oNoder.transformNodeToObject(oStylesheet, Response);
//----------------------------------
</script>

Fortsat god morgen
Avatar billede cyperangel Nybegynder
27. juni 2003 - 10:37 #15
Erm ja.
JEg fatter stadig nada omkring XML; XLS og jscript.

Jeg havde et eller andet sted håbet på at få en omgang kode, som var til at gennemskue, og som på magisk vis kunen vise CML siden, på min egen hjemmeside.

Istedet får jeg nu at vide at det skal downloades adskillige gange om dagen for at være up to date. Det er da en temmelig tumpet måde at udveksle information på.

Jeg havde håbet at få noget kode, som klippe klistre, hokus pokus kunne sættes ind i min side, og som fik et relativt brugbart resultat frem, så jeg selv kunne begynde at se hvordan det fungerede.
IStedet tror jeg simpelthen bare jeg skyder en hvid pind efter det.

Du får nogle points alligevel, men ikke fordi jeg føler at problemet er løst.

Ha en dejlig fredag.
Avatar billede roenving Novice
27. juni 2003 - 11:50 #16
>>awolffdk

-- gentager gerne:

Jscript _ER_ javascript ...

Men to ting gør at det beholder sit helt eget navn:

M$'s implementering af en hel del windows-specifikke objekter, som så opfattes som en del af sproget (-- og af VBscript m.m.m. og også javascriptere, som ikke ved der er noget som hedder Jscript)

-- og M$'s uvilje mod at betale en afgift til Sun for at bruge navnet ...

ECMA-script-standarden (som er den instans, som vedligeholder javascript-standarden) er overholdt *næsten* til punkt og prikke også i Microsofts Jscript (de andre er s'mænd ikke bedre !-)
Avatar billede cyperangel Nybegynder
27. juni 2003 - 12:34 #17
jamen. Ked af at måtte indrømme det her. JEg forstår ikek vhad jeg skal gøre med den kode. Hvor den skal sættes ind....

Og uden et XLS stylesheet, så hjælper det mig jo ikke en bønne, vel?

Og jeg kan kke genemskue XLS.

Jeg skal virkelig have det i små bitte babysteps....
Først gør du sådan, så gør du sådan, så gør du sådan osv... Trin 1, trin 2, trin 3....
Avatar billede janegil Nybegynder
27. juni 2003 - 12:47 #18
...hvis du skal bruke XSLT, så hold serveren utenfor i første omgang. XSLT er godt, men tar nok et godt stykke tid å lære. Vanskelig nok, uten å ha serverproblemer samtideg.
Avatar billede arne_v Ekspert
27. juni 2003 - 13:08 #19
Roenving>

#-- og M$'s uvilje mod at betale en afgift til Sun for at bruge navnet ...

Sun ?

JavaScript har da ikke noget Sun at gøre - JavaScript er opfundet
af NetScape.
Avatar billede roenving Novice
27. juni 2003 - 13:31 #20
>>arne_v
Men det er stadig Sun, som rettigheden til Java-navnet, så det er dem, som skal have afgiften -- Netscape tror jeg slipper, fordi de har lavet det efter aftale med Sun ... (og har en fælles interesse !-)
Avatar billede awolffdk Nybegynder
27. juni 2003 - 16:06 #21
>>>>>>>>>Jamen cyperangel
Så må du hellere kigge forbi Århus til et kursus, husk at tage kolde øl med ;-)
Det udleverede script skal du køre på din egen server, ligesom du skal have dit eget XSLT på serveren, så henter du kilden som vist i scriptet.... Om det virker ved jeg ikke, da jeg ikke har testet :-O

>>>> roenving
Du siger det jo selv. Jscript er næsten Javascript, og det er vi jo ikke uenige om :-))
Avatar billede roenving Novice
27. juni 2003 - 16:20 #22
>>awolffdk
ikke næsten, for både Jscript og javascript _skal_ være ECMA-script, som idag er det korrekte navn ...
,-)
Avatar billede awolffdk Nybegynder
27. juni 2003 - 17:47 #23
Følgende virker i en ASP side. DVS at du ikke behøver at hente opdateringer hjem, men kan arbejde på de eksterne sider.

<script language="jscript" runat="server">
// angiver XML placering
var strXML = "http://www.camelotherald.com/guilds/Bors/1113.xml";

// indlæser XML dokumentet
var oSource = Server.CreateObject("MSXML2.DOMDocument");
oSource.async = false;
oSource.load(strXML);
oSource.setProperty ("SelectionLanguage", "XPath");

var strXPath = "/";
var oNoder = oSource.selectSingleNode(strXPath);

var strXSL = Server.MapPath("xsl/VisOplysninger.xsl");

// indlæser XSL dokumentet
var oStylesheet = Server.CreateObject("MSXML2.DOMDocument");
oStylesheet.async = false;
oStylesheet.load(strXSL);


Response.CharSet = "UTF-8";
Response.ContentType = 'text/html';

oNoder.transformNodeToObject(oStylesheet, Response);
//----------------------------------
</script>

God fredag
Avatar billede awolffdk Nybegynder
27. juni 2003 - 17:48 #24
Så mangler du bare et XSLT :-)
Avatar billede awolffdk Nybegynder
27. juni 2003 - 18:10 #25
HÆ HÆ nu får du også lige koden til et XSLT

Smukt ser det ikke ud, men det vil jeg så overlade til dig at rode med, og nu har jeg nok også tjent de points :-)

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8" />
    <!-- Elementet "guild_status" hentes -->
    <xsl:template match="guild_status/guild">
        <html>
            <head> <!--<link rel="stylesheet" type="text/css" href="css/guild.css" />--></head>
            <body>
                <table border="1">
                    <tr>
                        <td>
                            <xsl:value-of select="@name" />
                        </td>
                    </tr>
                    <tr>
                        <td>ER bestyrer af følgende karakterer</td>
                    </tr>
                    <xsl:apply-templates select="character"></xsl:apply-templates>
                    <!--<xsl:sort select="@name" order="ascending"  />-->
                </table>
            </body>
        </html>
    </xsl:template>
    <!-- Elementet "character" hentes -->
    <xsl:template match="character">
        <!--<xsl:for-each select="character">-->
            <tr>
                <td>
                    <xsl:value-of select="@name" />
                </td>
            </tr>
            <tr>
                <td>
                    <xsl:value-of select="race" />
                </td>
            </tr>
            <tr>
                <td>
                    <xsl:value-of select="class" />
                </td>
            </tr>
        <!--</xsl:for-each>-->
    </xsl:template>
</xsl:stylesheet>
Avatar billede awolffdk Nybegynder
27. juni 2003 - 18:15 #26
Og skulle jeg så lige tilføje at nu er det testet, og virker :-) Ihvertfald på min localhost, med hentning af XML fra ekstern server.

Smart, så lærte jeg også noget nyt i dag :-)))))
Avatar billede cyperangel Nybegynder
27. juni 2003 - 19:28 #27
erm.... Kun et spørgsmål...
All den kode her, skal de bare ind i hvert deres dokument, og eh... Hvad skal de dokumenter hedde? XLS og HTML?
Avatar billede awolffdk Nybegynder
27. juni 2003 - 19:40 #28
ja det skal være 2 filer.
Den første kalder jeg FormatXML.asp
Den anden hedder VisOplysninger.xsl og ligger i mappen XSL under din mappe

Skriv et liile brev til mig på aws@adslhome.dk og jeg sender dig hele skidtet ZIPet

Jeg er ikke klar over hvilken server du kører på, og hvilke regler der er opstillet på denne, men jeg skulle lige gennem en firwall, for at hente det eksterne XML dokument......

Som sagt er mine filer opbygget på et MS system, men det skulle være ret nemt at omdøbe dem til PHP såfremt du kører på en linux server.

HIL Guild
Avatar billede interkriller Nybegynder
05. april 2004 - 13:29 #29
Hey awolffdk

Hvis du stadig har den zip fil vil jeg da meget gerne have den også...

Min mail er "Interkriller snabela hotmail dot com"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester