forked from jsdom/jsdom
/
hc_staff.xml.js
159 lines (132 loc) · 6.52 KB
/
hc_staff.xml.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
var sys = require("sys"),
dom = require("../../../../lib/jsdom/level2/core").dom.level2.core;
exports.hc_staff = function() {
var doc = new dom.Document("html");
var implementation = new dom.DOMImplementation(doc, {
"XML" : ["1.0", "2.0"],
"core": ["1.0", "2.0", "3.0"]
});
var notations = new dom.NotationNodeMap(
doc,
doc.createNotationNode("notation1","notation1File", null),
doc.createNotationNode("notation2",null, "notation2File")
);
// TODO: consider importing the master list of entities
// http://www.w3schools.com/tags/ref_symbols.asp
var entities = new dom.EntityNodeMap(
doc,
doc.createEntityNode("alpha", doc.createTextNode("α")),
doc.createEntityNode("beta", doc.createTextNode("β")),
doc.createEntityNode("gamma", doc.createTextNode("γ")),
doc.createEntityNode("delta", doc.createTextNode("δ")),
doc.createEntityNode("epsilon", doc.createTextNode("ε"))
);
// <!ATTLIST acronym dir CDATA "ltr">
var defaultAttributes = new dom.NamedNodeMap(doc);
var acronym = doc.createElementNS("http://www.w3.org/2000/xmlns/","acronym");
acronym.setAttribute("dir", "ltr");
defaultAttributes.setNamedItem(acronym);
var doctype = new dom.DocumentType(doc, "xml", entities, notations, defaultAttributes);
doc.doctype = doctype;
doc.implementation = implementation;
doc.appendChild(doc.createComment(" This is comment number 1."));
var html = doc.createElementNS("http://www.w3.org/2000/xmlns/","html");
var html = doc.appendChild(html);
var head = doc.createElementNS("http://www.w3.org/2000/xmlns/","head");
var head = html.appendChild(head);
var meta = doc.createElementNS("http://www.w3.org/2000/xmlns/","meta");
meta.setAttribute("http-equiv", "Content-Type");
meta.setAttribute("content", "text/html; charset=UTF-8");
head.appendChild(meta);
var title = doc.createElementNS("http://www.w3.org/2000/xmlns/","title")
title.appendChild(doc.createTextNode("hc_staff"));
var title = head.appendChild(title);
// make the tests work....
head.appendChild(doc.createElementNS("http://www.w3.org/2000/xmlns/","script"));
head.appendChild(doc.createElementNS("http://www.w3.org/2000/xmlns/","script"));
head.appendChild(doc.createElementNS("http://www.w3.org/2000/xmlns/","script"));
var body = doc.createElementNS("http://www.w3.org/2000/xmlns/","body");
var staff = html.appendChild(body);
var employees = [];
var addresses = [];
var names = [];
var positions = [];
var genders = [];
var ids = [];
var salaries = [];
// create 5 employees
for (var i=0; i<5; i++)
{
var employee = doc.createElementNS("http://www.w3.org/2000/xmlns/","p");
var address = doc.createElementNS("http://www.w3.org/2000/xmlns/","acronym");
var name = doc.createElementNS("http://www.w3.org/2000/xmlns/","strong");
var position = doc.createElementNS("http://www.w3.org/2000/xmlns/","code");
var gender = doc.createElementNS("http://www.w3.org/2000/xmlns/","var");
var id = doc.createElementNS("http://www.w3.org/2000/xmlns/","em");
var salary = doc.createElementNS("http://www.w3.org/2000/xmlns/","sup");
employee.appendChild(doc.createTextNode("\r\n"));
employee.appendChild(id);
employee.appendChild(doc.createTextNode("\r\n"));
employee.appendChild(name);
employee.appendChild(doc.createTextNode("\r\n"));
employee.appendChild(position);
employee.appendChild(doc.createTextNode("\r\n"));
employee.appendChild(salary);
employee.appendChild(doc.createTextNode("\r\n"));
employee.appendChild(gender);
employee.appendChild(doc.createTextNode("\r\n"));
employee.appendChild(address);
employee.appendChild(doc.createTextNode("\r\n"));
staff.appendChild(employee);
names.push(name);
employees.push(employee);
addresses.push(address);
genders.push(gender);
positions.push(position);
ids.push(id);
salaries.push(salary);
}
ids[0].appendChild(doc.createTextNode("EMP0001"));
salaries[0].appendChild(doc.createTextNode("56,000"));
addresses[0].setAttribute("title", "Yes");
addresses[0].appendChild(doc.createTextNode('1230 North Ave. Dallas, Texas 98551'));
names[0].appendChild(doc.createTextNode("Margaret Martin"));
genders[0].appendChild(doc.createTextNode("Female"));
positions[0].appendChild(doc.createTextNode("Accountant"));
ids[1].appendChild(doc.createTextNode("EMP0002"));
salaries[1].appendChild(doc.createTextNode("35,000"));
addresses[1].setAttribute("title", "Yes");
addresses[1].setAttribute("class", "Yes");
addresses[1].appendChild(doc.createTextNode("β Dallas, γ\n 98554"));
names[1].appendChild(doc.createTextNode("Martha Raynolds"));
names[1].appendChild(doc.createCDATASection("This is a CDATASection with EntityReference number 2 &ent2;"));
names[1].appendChild(doc.createCDATASection("This is an adjacent CDATASection with a reference to a tab &tab;"));
genders[1].appendChild(doc.createTextNode("Female"));
positions[1].appendChild(doc.createTextNode("Secretary"));
ids[2].appendChild(doc.createTextNode("EMP0003"));
salaries[2].appendChild(doc.createTextNode("100,000"));
addresses[2].setAttribute("title", "Yes");
addresses[2].setAttribute("class", "No");
addresses[2].appendChild(doc.createTextNode("PO Box 27 Irving, texas 98553"));
names[2].appendChild(doc.createTextNode("Roger\n Jones")) ;
genders[2].appendChild(doc.createEntityReference("δ"));//Text("δ"));
positions[2].appendChild(doc.createTextNode("Department Manager"));
ids[3].appendChild(doc.createTextNode("EMP0004"));
salaries[3].appendChild(doc.createTextNode("95,000"));
addresses[3].setAttribute("title", "Yes");
addresses[3].setAttribute("class", "Yα");
addresses[3].appendChild(doc.createTextNode("27 South Road. Dallas, Texas 98556"));
names[3].appendChild(doc.createTextNode("Jeny Oconnor"));
genders[3].appendChild(doc.createTextNode("Female"));
positions[3].appendChild(doc.createTextNode("Personal Director"));
ids[4].appendChild(doc.createTextNode("EMP0005"));
salaries[4].appendChild(doc.createTextNode("90,000"));
addresses[4].setAttribute("title", "Yes");
addresses[4].appendChild(doc.createTextNode("1821 Nordic. Road, Irving Texas 98558"));
names[4].appendChild(doc.createTextNode("Robert Myers"));
genders[4].appendChild(doc.createTextNode("male"));
positions[4].appendChild(doc.createTextNode("Computer Specialist"));
doc.appendChild(doc.createProcessingInstruction("TEST-STYLE", "PIDATA"));
doc.normalize();
return doc;
};