Automatyczne usuwanie atrybutów xmlns

Próbuję wykonać prostą funkcję wyszukiwania i wyróżnianiaJavascript który szuka fragmentu tekstu. TheXHTML znacznik, za pomocą którego występuje ten fragment tekstu, jest również podawany jako argument za dodatkową pomocą w zlokalizowaniu tego tekstu.

XHTML, który testuję tę funkcję na:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="application/xml+xhtml;charset=UTF-8" />
<script src="searcher.js" type="text/javascript"></script>
<script src="jquery-2.0.2.min.js"> </script>
<title>Building your resume</title>
</head>
<body id="highlightbegin">
<h1>Building your resume</h1>

<div> <input name="input" type="button" value="Highlight3" onclick="javascript:searcher('&lt;h1&gt;','Building your resume', '&lt;h1&gt;Building your resume', 'resume');" /> </div>

</body>
</html>  

Wyszukiwarka funkcji w searchcher.js:

function searcher(tag, text, tagText, word) {

    //simple search.
    console.info(word + " to be searched for in " + text + " with tag text = " + tagText);

    //get old html.
    var oldHTML = document.getElementById("highlightbegin").innerHTML;

    //get regexp.
    var regexp = new RegExp(tagText, 'g');

    var match = oldHTML.match(regexp);
    console.info(text + " found " + match.length + " times.");
}  

Jednak wykonanie poleceniaRegExp, powraca mecznull. Dalsze dochodzenie ujawnia, że ​​tag<h1>Building your resume</h1> staje się<h1 xmlns="http://www.w3.org/1999/xhtml">Building your resume</h1> co powodujematch funkcja do powrotunull. Moje pytania:

Dlaczego jestxmlns atrybut dodany automatycznie?Czy istnieje sposób, aby zapobiec dodaniu atrybutu?Do jakich tagów zostanie dodany ten atrybut? Czy można bezpiecznie założyć, że zostanie dodany do każdego tagu?Czy jest to problem związany z przeglądarką, czy też można się tego spodziewać we wszystkich przeglądarkach?

EDYTOWAĆ:
Obserwacja:
1. Jeśli dodamxmlns przypisać dobody oznaczaj i uzyskuj dostęp do wszystkich treściouterHTML (var oldHTML = document.getElementById("highlightbegin").outerHTML;), jego elementy potomne nie mająxmlns atrybut.
Moje pytania:
1. Czy można edytować element outerHTML (za pomocąJavascript) i zastąpiony?
2. Czy obserwacja jest spójna (obserwowana za każdym razemouterHTML jest wywoływany) czy jest zależny od implementacji?
3. Czy to jestJavascript to dodajexmlns atrybut automatycznie lub przeglądarka?

questionAnswers(1)

yourAnswerToTheQuestion