Avatar billede mads375 Juniormester
13. september 2013 - 13:23 Der er 15 kommentarer og
1 løsning

xml og html

Hejsa

Jeg vil høre om der er en der kan give mig en konkret opgave hvor man skal bruge html og xml sammen? Bare en tilfældig nem opgave, så jeg forstår hvordan xml virker lidt mere ift et konkret eksempel

Mvh Mads
Avatar billede NCG Novice
13. september 2013 - 15:37 #1
Hmm, så tænker jeg straks på noget med xml og xslt styling.
Men det er vist ikke det du er på udkig efter ?
Avatar billede mads375 Juniormester
13. september 2013 - 19:11 #2
Jeg synes det er svært at finde noget helt specifikt på nettet omkring, hvornår bruges XML, hvorfor bruges det, hvordan bruger man det sammen med andre programmeringssprog. Jeg læser mange forskellige upræcise ting. Sådan som jeg forstår det er som følgende:

1: Laver dine egne tags
2: Kan konvertere fra DTD til XML
3: Nogle steder står der XML kan gemme data også
4: Lidt styling også
etc etc..

Man lad os sige man har en side index, hvor der i midten er en kasse. Inde i den kasse står der Navn, Efternavn, Stilling og telefonnummer. Det kan man evt lave noget med XML til? I så flad hvorfor? jeg ved godt spørgsmålet er lidt uklart, men noget med at have en html side, hvor man bruger noget fra et XML dokument. Til hvad ved jeg ikke helt, da jeg er i tvivl om hvad man overhovedet skal bruge det til. Men skal bare have noget konkret istedet for at læse bøger, og lave mine egne tags i et XML dokument. Vil gerne intergrere det sammen med et andet sprog også, så jeg kan få en mening i det hele.

Mvh Mads
Avatar billede mads375 Juniormester
13. september 2013 - 19:12 #3
sådan som jeg også forstår det, så skal XML formidle data og ikke vise data? men formidle til hvad?
Avatar billede NCG Novice
13. september 2013 - 20:49 #4
OK, prøv evt. at kigge på:  http://www.oioubl.info/classes/da/index.html
Det er et eksempel på brugen af XML m.m.
Avatar billede mads375 Juniormester
15. september 2013 - 09:22 #5
Hej
tak for svaret. Jeg forstår nu ikke helt eksemplet på linket :-/ Altså hvordan OIOUBL og XML relaterer sig til hinanden.
Avatar billede mads375 Juniormester
15. september 2013 - 11:17 #6
Okay, jeg har lige fundet denne side, som jeg har læst igennem de 28 kvartesider med et eksempel:


Jeg har altid tænkt XML, at man indtastede noget i en <form> fra en html side, som blev sendt til et xml dokument, som derefter kunne gøre noget. Sådan som jeg har læst mig frem til nu, er at fx to firmaer kan deles om et xmldokument, så man er sikker på data bliver korrekt registeret? Lad os sige NCG og mig er dyrelæge med hver vores forretning og under samme brand. En kunde kommer ind i min forretning i Århus, og jeg registrerer kunden med følgende data:

<navn></navn>
<efternavn></efternavn>
<adresse></adresse>
<nr></nr>
<telefonnr></telefonnr>
<dyr></dyr>

Via vores interne system hvor vi opretter kunder SKAL disse data indtastes før en kunde kan oprettes i vores system. Vores xml dokument kan transformeres til et xslt dokument, som kan sætte nogle regler for os, fx krav om at i telefonfeltet skal der indtastes tal istedet for bogstaver. Er det rigtig forstået? Fra XML dokumentet kan det også overføres til en fx mysql database?

Det vil sige inde i sin <td> på sit html dokuemnt, kan man sætte noget med <xsl:value of select:"Name"/> etc... Men hvorfor ikke bare bruge en mysql database, som også kunne sætte de krav op? Men det omhandler noget om at man kan formidle data mellem platforme. Altså fx:

Firma 1 og Firma 2 har et fælles xml dokument, som hvert firma læser sig op af? Hvis det er rigtig forstået kunne man så lave en lille opgave ud fra det indeholdene et html dokument med overstående form fields, samt et xml dokument, og et xslt dokument? I så fald hvordan får jeg så connection mellem mit html og xml dokument. Der er vel øverst i html dokumentet man skal henvise til det?

Håber du/i har tid til at svare :-/ Skal nok give nogle flere point :-)

Mvh Mads










Schema:
http://office.microsoft.com/en-au/word-help/xml-what-s-it-all-about-RZ001130477.aspx?section=16
Avatar billede mads375 Juniormester
15. september 2013 - 11:27 #7
Hov linket nederest skulle have været i topppen
Avatar billede NCG Novice
15. september 2013 - 14:13 #8
I min verden (EDI), er XML blot et dokument til transport af informationer, lidt i stil med det brev posten kommer med.

Et XML dokument er typisk blevet dannet af en virksomheds ERP-system, og f.eks. sendt via Nemhandel som OIOUBL, til en anden virksomhed. Så det nemt kan indlæses automatisk i deres ERP-system. Kan f.eks. være en faktura, indkøbsordre, m.m.

XML kan læses af alle moderne systemer, og er ikke specielt "bundet" mod HTML eller lignende. Du har fat i noget af det rigtige, og XML kan benyttes til mange ting :)
Avatar billede mads375 Juniormester
15. september 2013 - 15:32 #9
Ok cool mange tak. Jeg har lige fundet et eksempel jeg prøver at lave. Jeg får ikke nogle fel, undtagen i første linje. Her er xml:


<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="tvshows.xsl" ?>

<tvshows>
    <show>
        <name>Life on Mars</name>
        <year>2008</year>
        <end_date>2009</end_date>
        <network country="US">ABC</network>
        <poster href="http://www.iiacanadanationalconference.com/wp-content/uploads/2013/01/test.jpg" width="124" height="317"/>
        <viewers units="millions">7.82</viewers>
       
        <!-- Comment -->
    </show>
    <show>
        <name>Friends</name>
        <year>2004</year>
        <end_date>2007</end_date>
        <network country="US">Universial</network>
        <poster href="http://i2.cdnds.net/12/47/618x530/ustv_friends_cast_shot.jpg" width="124" height="317"/>
        <viewers units="millions">13.4</viewers>
    </show>
    <!-- Comment -->
</tvshows>

_____________________

xsl stylesheet:


<?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

        <!-- XSLT: eXtensible Style Language Used for styling XML -->
       
        <!-- This sets the output type (Not Needed for HTML) -->
       
        <xsl:output method="html" />
       
        <!-- xsl:template : States that we want to match the whole document -->
        <!-- All of the rules that follow will apply to the root node -->
       
        <xsl:template match="/">
           
            <html>
                <head><title>TV Shows</title></head>
                <body>
                    <!-- Return the XSLT Version used -->
                   
                    Version: <xsl:value-of select="system-property('xsl:version')" /><br />
                   
                    <!-- Return the XSLT Vendor used -->
                    <!-- libxml2 : Toolkit developed for the Gnome project -->
                   
                    Vendor: <xsl:value-of select="system-property('xsl:vendor')" /><br />
                   
                    Vendor URL: <xsl:value-of select="system-property('xsl:vendor-url')" /><br />
                   
                    <!-- Cycles through each node in the XML file -->
                   
                    <xsl:for-each select="tvshow/show">
                   
                        <!-- generate-id() returns a unique node identifier -->
                       
                        <a href="#{generate-id(name)}">
                       
                        <!-- Get the value of name for the node -->
                       
                        <xsl:value-of select="name" /></a><br />
                    </xsl:for-each>
                   
                    <br />
               
                    <!-- Cycles through each node in the XML file -->
                   
                    <xsl:for-each select="tvshow/show">
                   
                        <!-- xsl:sort sorts based on your rules
                            select: node to base sort on
                            order: ascending (default) or descending
                            data-type: text or number  -->
                   
                        <xsl:sort select="name" order="ascending" data-type="text" />
                   
                        <!-- Print show name with a link to the list above -->
                   
                        <h3><a name="{generate-id(name)}">
                        <xsl:value-of select="name" /></a></h3>
                   
                        <!-- Here I create an img tag and add attributes to it -->
                   
                        <img>
                       
                            <!-- Select the attribute to change -->
                           
                            <xsl:attribute name="src">
                           
                            <!-- Set the value for the attribute -->
                            <!-- You grab the attribute of a node with @ -->
                           
                            <xsl:value-of select="poster/@href" />
                            </xsl:attribute>
                        </img><br />
                   
                        <!-- Returns the current node information -->
                       
                        <xsl:value-of select="current()"/>
                       
                        <p>The show <xsl:value-of select="name"/> was released in
                        <xsl:value-of select="release"/> by
                        <xsl:value-of select="network"/>. It had an average
                        viewership of <xsl:value-of select="viewers"/> million people.
                        It was cancelled in <xsl:value-of select="end_date"/>
                        </p><br />
                   
                    </xsl:for-each>
                   
                    <!-- Output Information in a table -->
                   
                    <table border="2">
                    <tr><th>Name</th><th>Network</th><th>Viewers</th></tr>
                    <xsl:for-each select="tvshow/show">
                   
                    <!-- Checks if the attribute of network is not equal to UK -->
                   
                    <!-- This will only allow non-UK shows on the list -->
                   
                    <!-- You can use: = != > &lt; -->
                   
                    <!-- <xsl:if test="network[@country='UK']"> -->
                   
                    <!-- Shows results when release < 2006 -->
                   
                    <xsl:if test="release &lt; 2006">
                   
                    <tr>
                        <td><xsl:value-of select="name"/></td>
                        <td><xsl:value-of select="network"/></td>
                        <td><xsl:value-of select="viewers"/></td>
                    </tr>
                   
                    </xsl:if>
                   
                    <!-- xsl:choose is used to cover many conditions -->
                   
                    <xsl:choose>
                   
                        <!-- xsl:when defines under what condition to execute -->
                   
                        <xsl:when test="release > 2006">
                       
                            <tr bgcolor="yellow">
                                <td><xsl:value-of select="name"/></td>
                                <td><xsl:value-of select="network"/></td>
                                <td><xsl:value-of select="viewers"/></td>
                            </tr>
                       
                        </xsl:when>
                       
                        <xsl:when test="release = 2006">
                       
                            <tr bgcolor="orange">
                                <td><xsl:value-of select="name"/></td>
                                <td><xsl:value-of select="network"/></td>
                                <td><xsl:value-of select="viewers"/></td>
                            </tr>
                       
                        </xsl:when>
                       
                        <!-- If xsl:if was removed this would be the default action for xsl:choose  -->
                       
                        <xsl:otherwise>
                       
                            <tr bgcolor="pink">
                                <td><xsl:value-of select="name"/></td>
                                <td><xsl:value-of select="network"/></td>
                                <td><xsl:value-of select="viewers"/></td>
                            </tr>
                       
                        </xsl:otherwise>
                   
                    </xsl:choose>
                   
                    </xsl:for-each>
                    </table>
                   
                </body>
            </html>
   
        </xsl:template>
       
    </xsl:stylesheet>


_______

Øverst får jeg en gul trekant med en fejl:

http://postimg.org/image/hl9bmmv9t/

Jeg har prøvet at køre xsl siden, men det eneste jeg får frem er dette:

http://postimg.org/image/tm8gnl45d/

Ved ikke om mine sider ligger det forkerte sted i venstre panel i eclipse?

Mvh Mads
Avatar billede NCG Novice
16. september 2013 - 16:26 #10
Beklager, men Eclipse kan jeg ikke hjælpe dig med. Jeg arbejder mest med BizTalk Mapper via Visual Studio.

Din kode er hakket i stykker, så den er nærmest umulig at læse. Du må smide den et andet sted hvor den kan vises som kode, eller prøv evt. også at starte med et lidt mere "simpelt" eksempel ;)
Avatar billede mads375 Juniormester
16. september 2013 - 16:46 #11
ok prøver lige at lave noget mere simpelt
Avatar billede mads375 Juniormester
20. september 2013 - 00:18 #12
Hej NCG.

Jeg er lige taget et skridt tilbage, og læser lidt mere. Var vidst ved at bevæge mig ud i noget jeg ikke kunne bunde i. Tak for indsatsen, og ligger du ikke et svar?

Mvh Mads
Avatar billede mads375 Juniormester
27. september 2013 - 01:36 #13
Skal vi dele pointene?
Avatar billede jokkejensen Novice
02. oktober 2013 - 09:08 #14
Jeg kan godt hjælpe med slet delen skal bare se noget dummy XML, gerne noget reelt, du kan bare ændre data.

Beskriv hvordan du ønsker det præsenteret i HTML

Vh
/j
Avatar billede jokkejensen Novice
02. oktober 2013 - 09:08 #15
Slet =xslt
Avatar billede mads375 Juniormester
17. oktober 2013 - 23:56 #16
Tak for hjælpen. Siden der ikke er kommet svar nupper jeg pointene her igen. Skriv hvis det ikke er ok

Mvh Mads
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

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