Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: RDF to HTML with XSLT

From: JasonBurr@-----------.---------.---
To: NULL
Date: 1/7/2005 12:43:00 PM
Martin,

Thanks here is the code for the asp page which gets the xml document and 
transforms it (or would if it worked)

I left in some code I tried that didn't work

Of note using responseBody instead of responseText and doing a char by char 
conversion (really horrible way to handle it but was something from another 
site that someone said worked (it did not)).

Also rather than creating another XMLDOC and calling a load I tried to apply 
the responseXML directly to the transformNodeToObject call. 

Also almost all the settings for content-type and charset have been included 
excluded through each try at making it work. 

Anyway If I just response.write the strResponse out and uncomment the 
text/xml content type it displays out just fine with the default IE xslt. If 
I trim down the xml to disclude the extended characters and run it client 
side it works fine. 

I'm pulling out my hair here.

I also included the xsl file and the resulting xml from the query.

Response.Buffer = True
'Response.ContentType = "text/xml"
Response.charset = "utf-8"

strXMLOut="<?xml version=""1.0"" encoding=""utf-8""?>" &_
"<rdf:RDF" &_
"        xmlns:rdf = ""http://www.w3.org/1999/02/22-rdf-syntax-ns#"" " &_
"        xmlns:dc  = ""http://purl.org/dc/elements/1.1/"" " &_
"        xmlns:mq  = ""http://musicbrainz.org/mm/mq-1.1#"" " &_
"        xmlns:mm  = ""http://musicbrainz.org/mm/mm-2.1#"">" &_
"<mq:FindArtist>" &_
"  <mq:depth>4</mq:depth>" &_
"  <mq:artistName>Nickelback</mq:artistName>" &_
"</mq:FindArtist>" &_
"</rdf:RDF>"

strUrl = "http://www.musicbrainz.org/cgi-bin/mq_2_1.pl"

Set xmlhttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")  
xmlhttp.open "POST", strUrl, false 
xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xmlhttp.send strXMLOut 
If err.number <> 0 Then 
	Response.write "vberror: " & err.Description & "<BR>"
	Response.write "Error: " & xmlhttp.parseError.URL & _ 
	"<br>" & xmlhttp.parseError.Reason 
	Response.end 
Else 
	'strResponse = bts(xmlhttp.responseBody)
	'strResponse = xmlhttp.responseText
End if 
'set xmlhttp = nothing

'Function bts(data)
'    'Converts binary data to string
'    sOut = ""
'    For i = 0 to UBound(data)
'    sOut = sOut & chrw(ascw(chr(ascb(midb(data,i+1,1)))))
'    Next
'    bts=sOut
'End Function

strMappedXsl = Server.Mappath("music.xsl")

'--Load the xml string into the dom
'Dim oXML
'Set oXML = Server.CreateObject("Microsoft.XMLDOM")
'oXML.loadXML(strResponse)

If Err Then
	Response.Write Err.Description
End if

'--Load the XSL (the workbook template with XSL directives) into a 
DOMDocument.
Dim oXSL
Set oXSL = Server.CreateObject("Microsoft.XMLDOM")
oXSL.load strMappedXsl
'--Handle parse errors
If oXSL.parseError.errorCode <> 0 Then
	Response.Write "Parse Error: " & oXSL.parseError.reason
	Response.Write "<BR>Path: " & strMappedXsl
	Response.Flush
	Response.End
End if

'--Transform the XML using the style sheet.
Dim oResults
Set oResults = Server.CreateObject("Microsoft.XMLDOM")
'oXML.transformNodeToObject oXSL, oResults
xmlhttp.responseXML.transformNodeToObject oXSL, oResults

Response.Write oResults.XML

-------------------XML---------------------
(please note that I added the stylesheet call in and this is not a result 
from the query)
<?xml:stylesheet type="text/xsl" encoding="utf-8" href="test.xsl"?>
<rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc  = "http://purl.org/dc/elements/1.1/"
         xmlns:mq  = "http://musicbrainz.org/mm/mq-1.1#"
         xmlns:mm  = "http://musicbrainz.org/mm/mm-2.1#"
         xmlns:az  = "http://www.amazon.com/gp/aws/landing.html#">
  <mq:Result>
    <mq:status>OK</mq:status>
    <mm:artistList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/artist/3f7790fc-b5cb-4346-a264-0f798328ef30"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/artist/a7809bbe-7766-489a-b742-8b629d4ced3f"/>
      </rdf:Bag>
    </mm:artistList>

  </mq:Result>
  <mm:Artist 
rdf:about="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c">
    <dc:title>Subhumans</dc:title>
    <mm:sortName>Subhumans</mm:sortName>
    <mm:albumList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/604a0acc-0cff-4aa9-8776-ad7f67c75757"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/f97a40cf-21c3-499a-8ecc-4c3f3a6fe1fc"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/c4a1e67d-1f86-4ae1-a8cb-6e7c92244e1f"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/f32a8817-8e7c-4ef9-b579-c1f79d7a2176"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/fc4f32e2-c5c1-4c51-b027-e0e95a90414b"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/29613720-ab13-4709-8727-1627b48d833f"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/c072f34c-6f84-40b8-8cb1-f96ec08adc6f"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/98a2f4c0-f8b8-4f55-9553-e0b492c6ace2"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/c03e0dc0-f6f2-4f5b-9dd7-f05781f3b13d"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/bcc25de1-74c9-41d5-bca1-cd5bcd49484f"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/8a6801b4-b664-48c4-aa1b-41b494b971ac"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/29e85760-d699-47d6-b71b-27b8933e7380"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/4b6a2c44-e7e7-42af-975c-a9214e4adf6b"/>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/d3ebc4f9-6028-426c-b8b0-a23a5d32d900"/>
      </rdf:Bag>
    </mm:albumList>
  </mm:Artist>

  <mm:Artist 
rdf:about="http://musicbrainz.org/artist/3f7790fc-b5cb-4346-a264-0f798328ef30">
    <dc:title>Subhumans (Canadian)</dc:title>
    <mm:sortName>Subhumans (Canadian)</mm:sortName>
    <mm:albumList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/22c32a90-e596-4f56-a247-69f78da8ba42"/>
      </rdf:Bag>
    </mm:albumList>
  </mm:Artist>

  <mm:Artist 
rdf:about="http://musicbrainz.org/artist/a7809bbe-7766-489a-b742-8b629d4ced3f">
    <dc:title>The Subhumans</dc:title>
    <mm:sortName>Subhumans, The</mm:sortName>
    <mm:albumList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/album/659290f6-7f52-48d1-8101-ed900971bfeb"/>
      </rdf:Bag>
    </mm:albumList>
  </mm:Artist>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/604a0acc-0cff-4aa9-8776-ad7f67c75757">
    <dc:title>Incorrect Thoughts</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/f97a40cf-21c3-499a-8ecc-4c3f3a6fe1fc">
    <dc:title>From the Cradle to the Grave</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:cdindexidList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/cdindex/fT_w8Qb7xtRu4LERem80UCHorsg-"/>
      </rdf:Bag>
    </mm:cdindexidList>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
    <az:Asin>B000000LXU</az:Asin>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/c4a1e67d-1f86-4ae1-a8cb-6e7c92244e1f">
    <dc:title>No Wishes, No Prayers</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/f32a8817-8e7c-4ef9-b579-c1f79d7a2176">
    <dc:title>Unfinished Business</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
    <az:Asin>B00022345E</az:Asin>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/fc4f32e2-c5c1-4c51-b027-e0e95a90414b">
    <dc:title>The Day the Country Died</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:cdindexidList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/cdindex/WwkSiJTYAd_ieZm6vx8zDGYga8I-"/>
      </rdf:Bag>
    </mm:cdindexidList>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
    <az:Asin>B000000LXS</az:Asin>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/29613720-ab13-4709-8727-1627b48d833f">
    <dc:title>Worlds Apart</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:cdindexidList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/cdindex/Mhv_A_1IPyMEDvnKVnuCAFeV3yI-"/>
      </rdf:Bag>
    </mm:cdindexidList>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
    <az:Asin>B000000LXW</az:Asin>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/c072f34c-6f84-40b8-8cb1-f96ec08adc6f">
    <dc:title>EP-LP</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:cdindexidList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/cdindex/BJHhRz69quIFDseiriGPwx_SqJc-"/>
      </rdf:Bag>
    </mm:cdindexidList>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
    <az:Asin>B000000LXY</az:Asin>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/98a2f4c0-f8b8-4f55-9553-e0b492c6ace2">
    <dc:title>29:29 Split Vision</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
    <az:Asin>B000000LY0</az:Asin>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/c03e0dc0-f6f2-4f5b-9dd7-f05781f3b13d">
    <dc:title>Time Flies But Aeroplanes Crash</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3a13b4b9-00cf-4b4c-bc6b-8101190d3c8c"/>
    <mm:cdindexidList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/cdindex/BNE8oZSHmwtDmtfY8JOzTgFDiPE-"/>
      </rdf:Bag>
    </mm:cdindexidList>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/bcc25de1-74c9-41d5-bca1-cd5bcd49484f">
    <dc:title>Faster &amp; Louder: Hardcore Punk, Vol. 2</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/89ad4ac3-39f7-470e-963a-56509c546377"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeCompilation"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/8a6801b4-b664-48c4-aa1b-41b494b971ac">
    <dc:title>Anti-Floyd The Terrier State</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/89ad4ac3-39f7-470e-963a-56509c546377"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeCompilation"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusPromotion"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/29e85760-d699-47d6-b71b-27b8933e7380">
    <dc:title>Short Music for Short People</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/89ad4ac3-39f7-470e-963a-56509c546377"/>
    <mm:cdindexidList>
      <rdf:Bag>
        <rdf:li 
rdf:resource="http://musicbrainz.org/cdindex/SzFglsO3tGoKe7CDvmPw6v_yofk-"/>
      </rdf:Bag>
    </mm:cdindexidList>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeCompilation"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/4b6a2c44-e7e7-42af-975c-a9214e4adf6b">
    <dc:title>This Is the A.L.F.</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/89ad4ac3-39f7-470e-963a-56509c546377"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeCompilation"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/d3ebc4f9-6028-426c-b8b0-a23a5d32d900">
    <dc:title>Let Them Eat Jellybeans</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/89ad4ac3-39f7-470e-963a-56509c546377"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeCompilation"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/22c32a90-e596-4f56-a247-69f78da8ba42">
    <dc:title>Pissed Off... With Good Reason</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/3f7790fc-b5cb-4346-a264-0f798328ef30"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeCompilation"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

  <mm:Album 
rdf:about="http://musicbrainz.org/album/659290f6-7f52-48d1-8101-ed900971bfeb">
    <dc:title>Incorrect Thoughts</dc:title>
    <dc:creator 
rdf:resource="http://musicbrainz.org/artist/a7809bbe-7766-489a-b742-8b629d4ced3f"/>
    <mm:releaseType 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#TypeAlbum"/>
    <mm:releaseStatus 
rdf:resource="http://musicbrainz.org/mm/mm-2.1#StatusOfficial"/>
  </mm:Album>

</rdf:RDF>


---------------------XSL-----------------------
<?xml version='1.0' encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:mq="http://musicbrainz.org/mm/mq-1.1#"
xmlns:mm="http://musicbrainz.org/mm/mm-2.1#"
xmlns:az="http://www.amazon.com/gp/aws/landing.html#"
exclude-result-prefixes="rdf dc mq mm az">

<xsl:output omit-xml-declaration="yes" method="html"/>
<xsl:template match="rdf:RDF">

   <xsl:for-each select="mm:Album">
     <xsl:value-of select="dc:title"/>
   </xsl:for-each>

</xsl:template>
</xsl:stylesheet>


"Martin Honnen" wrote:

> 
> 
> Jason Burr wrote:
> 
> 
> > Using Msxml2.ServerXMLHTTP and retrieving the data then printing out the 
> > responseText it shows encoding as utf-8 (as supplied by the data provider). 
> 
> How/where do you print out the data?
> 
> > After loading the responseText into the Microsoft.XMLDOM via the loadXML() 
> > and printing out the .xml data it strips out the encoding type. 
> 
> The use of Msxml2.ServerXMLHTTP indicates that you are probably using 
> script in an ASP page, where does Microsoft.XMLDOM then come into place 
> which is usually used on the client?
> 
> 
> If you receive XML with MSXML on the server and want to send it to the 
> client then use (VBScript pseudo code)
>    Dim httpRequest
>    Set httpRequest = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
>    httpRequest.open("GET", "url", False)
>    httpRequest.send()
>    If httpRequest.status = 200 Then
>      httpRequest.responseXML.save Response
>    End If
> do not try to Response.Write the responseText.
> If you are doing server side transformation then you can use 
> transformNodeToObject and use the ASP Response object as the output 
> object. Don't use transformNode and try to Response.Write the result.
> 
> But I am guessing, explain in more detail what you are doing, show some 
> code, I know you have said you have tried a lot but we will need to see 
> a specific attempt to tell you why it went wrong and how to change it.
> 
> -- 
> 
> 	Martin Honnen
> 	http://JavaScript.FAQTs.com/
> 


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent