Avatar billede hunk Nybegynder
21. september 2005 - 18:42 Der er 10 kommentarer og
1 løsning

Visning af Word XML dokument via IIS6

Hejsa

Kunne godt tænke mig at kunne vise dele af et Word dokument (gemt som XML) gennem ASP eller ASP.net
Forestillede mig at dokumentet havde en overskrift og et par tekst områder som kunne hentes efter behov
Eller andre forslag til nem redigering af Word dokumenter der skal vises online (og ikke nødvendigvis i IE)
Avatar billede janegil Nybegynder
21. september 2005 - 18:52 #1
Kan jeg få se et lite eksempel på et slikt xml-dokument? Det ville fx være fint hvis den delen av dokumentet du vil hente, hadde et ID-attributt.
Avatar billede hunk Nybegynder
21. september 2005 - 19:01 #2
Så vidt jeg kan se kan man vælge en XSD skabelon der beskriver hvilken elementer der kan være i dokumentet så for eksemplets skyld ville et titel element og en tekst1 og tekst2 vil være fint
Avatar billede hunk Nybegynder
22. september 2005 - 16:23 #3
Det her virker fint, men hvis dokumentet (data.xml) har været en tur gennem word viser den intet :o(

Help :o)

data.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<mitdokument>
    <overskrift>Overskrift!</overskrift>
    <tekst1>Tekst 1 - bla bla bla</tekst1>
    <tekst2>Tekst 2 - bla bla bla</tekst2>
</mitdokument>

stylesheet.xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
<xsl:template match="/">
  <html>
  <body>
  <h2><xsl:value-of select="mitdokument/overskrift"/></h2>
  <xsl:value-of select="mitdokument/tekst2"/>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

XMLTest.asp:
<%
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("data.xml"))
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("stylesheet.xsl"))
Response.Write(xml.transformNode(xsl))
%>
Avatar billede hunk Nybegynder
26. september 2005 - 18:13 #4
...nå, men nu er jeg kommet lidt videre
Microsoft har en "Word 2003: XML Viewer" som inkludere et stylesheet der hedder word2html.xsl som kan lave WordML om til HTML :o) - Så langt så godt :o)

http://www.microsoft.com/downloads/details.aspx?familyid=19676b18-1bcd-4852-93ba-0b5a203ea731&displaylang=en

Har også et dokument der ligner det fra tidligere indlæg, blot med den forskel at det er gemt fra Word 2003 (uden hak i 'gem kun data')
ASP siden ligner også sig selv bortset fra at de to CreateObject's der er er lavet om til Server.CreateObject("Msxml2.DOMDocument.4.0") og at xml og xsl er sat til = nothing i bunden

Men mit problem med kun at hive DELE af dokumentet er ikke lykkedes :o(

Help! :o(
Avatar billede janegil Nybegynder
27. september 2005 - 10:07 #5
Mon tro det er noen innebygde templates som henter ut det du ikke vil ha?

Overskrive med dine egne tomme templates, for å IKKE vise tekst1 fx
<xsl:template match="tekst1"/>

http://www.w3.org/TR/xslt#built-in-rule

Men jeg trodde nå du burde være trygg så lenge du mangler xsl:apply-template i den ene templat'en du har...
Avatar billede hunk Nybegynder
27. september 2005 - 15:54 #6
:o)

Rettede i bunden af word2html.xsl så der i stedet for <xsl:template match="/"><xsl:apply-templates select="*"/> står <xsl:template match="tekst1"><xsl:apply-templates select="tekst1"/> og nu skriver den ikke tekst1 ud mere :o)

Har læst lidt på w3.org men forstår ikke lige hvorfor det her virker... Burde det ikke være omvendt? (match="tekst1")

Nå men skriv lige et svar under alle omstændigheder for det er vist det tætteste jeg kan komme...
Avatar billede janegil Nybegynder
27. september 2005 - 16:27 #7
Skule tro det skulle være
<xsl:template match="tekst1"><xsl:apply-templates/>
for å få med eventuelle elementer inne i tekst1 ?
Avatar billede hunk Nybegynder
27. september 2005 - 17:37 #8
Hvis jeg skriver som du siger der kommer det hele med...
Hvis jeg skriver <xsl:apply-templates select="tekst1"/> kommer tekst1 ikke med...
Avatar billede hunk Nybegynder
27. september 2005 - 17:49 #9
Jeg trykker løs på accepter, men der sker ikke noget... (?)
Avatar billede hunk Nybegynder
27. september 2005 - 17:49 #10
Glemte at vælge et brugernavn :o) Thi-hi :o)
Avatar billede hunk Nybegynder
27. september 2005 - 17:53 #11
Ahhh... nu gik det op for mig hvad der sker :o)
Der står:
<xsl:template match="tekst1"><xsl:apply-templates select="tekst1"/>
</xsl:template>
hvilket vil sige at tekst1 skal behandles som der står, og der står jo ikke noget :o)
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