By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,825 Members | 1,218 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,825 IT Pros & Developers. It's quick & easy.

How do I make a mix of html/xml work?

P: n/a
I have an XML document that, in order to save b/w for both server and
users, uses a few emtpy tags a la "<add/>" and "<edit/>" in the source,
which [should] get javascript replaced once the document is done loading
into their full form (for <add/>, this would be something like <img
src="add.gif" border="0" onClick="javascript:handleEvent(this,'add')">).

In order to do this I figured the documented needed to use a few html
tags as well (mainly, it needed head, title, script and body), but I'm
not quite certain how to make this work. I've changed my dtd to read:

<!element html (head, body)>
<!element head (title, script)>
<!element title (#PCDATA*)>
<!element script (#PCDATA*)>
<!attlist script language CDATA #REQUIRED>
<!attlist script version CDATA #REQUIRED>
<!element body (list)>

where the[list] element is the root node of my own XML data. The xml
file itself looks like:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet href="nr-kvis.css" type="text/css"?>
<!DOCTYPE html SYSTEM "NR-jouyou.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>???? level 1 (80 ??)</title>
<script language="JavaScript" version="1.0">
<!-- commented off to prevent parse errors as usual -->
</script>
</head>
<body onLoad="javacsript:addInteraction()">
<list xmlns="http://www.nihongoresources.com/jouyou">
[...xml in the nihongoresources namespace...]
</list>
</body
</html>

When I load this in firefox (quite a nice browser that's very xml
friendly) the javascript is never called.

A second issue is that if I include an html namespace element inside the
<list> content using for instance:

<html:img src="someimage.gif"/>

upon validation I get the error that "the html namespace is not bound". I
know that the xml I use changes the default namespace to list's namespace
while inside the list element, but I didn't know it voided html's as
well.. how do I bind and element to a namespace so I can use it anywhere
in my xml?

- Mike Kamermans
www.nihongoresources.com
Jul 20 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a


Mike Kamermans wrote:

<script language="JavaScript" version="1.0">
<!-- commented off to prevent parse errors as usual -->
</script>
That should be
<script type="text/javascript">
//<![CDATA[

//]]>
</script>
don't use <!-- --> to comment out the script code as then it is
commented out and not passed to the script engine.
</head>
<body onLoad="javacsript:addInteraction()">


XHTML is case-sensitive:
<body onload="addInterval();">
then I think it should work (if you serve up the XHTML with the proper
content type application/xhtml+xml).

--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 20 '05 #2

P: n/a
implementing the xhtml changes has it loading, but now I'm facing another
problem... how to get the element node that called a javascript function.

In html context this could be done using 'this', and making the javascript
function have an event as argument, then calling event.target in body of
the function and working with that - in xhtml context this doesn't seem to
work... is there another keyword that can be used (or fetch instruction)
that allows me to figure out which element called a function that you know
of?

- Mike Kamermans
www.nihongoresources.com
Jul 20 '05 #3

P: n/a


Mike Kamermans wrote:

how to get the element node that called a javascript function.

In html context this could be done using 'this', and making the javascript
function have an event as argument, then calling event.target in body of
the function and working with that - in xhtml context this doesn't seem to
work...


It should work, the W3C DOM Events model applies to both HTML and XHTML
so scripting events shouldn't change with Mozilla whether you serve
text/html or application/xhtml.
If you have problems to get it to work then make a small test case and
post it here or better even post its URL.

--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 20 '05 #4

P: n/a
Martin,
It should work, the W3C DOM Events model applies to both HTML and
XHTML so scripting events shouldn't change with Mozilla whether you
serve text/html or application/xhtml.
If you have problems to get it to work then make a small test case and
post it here or better even post its URL.


I've posted a new message with a URL under the subject "using "this" in
javascript/XHTML". Maybe you can spot an obvious mistake in the file that
I'm overlooking...

Regards,

Mike

Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.