author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 12 May 2015 12:20:53 +0100 | |
changeset 296 | ea3dbc023c80 |
parent 284 | xquery/trunk/XQuery__ConstructedNodeKind.st@6f8ef403ca97 |
permissions | -rw-r--r-- |
241
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:goodies/xmlsuite/xquery' }" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
"{ NameSpace: XQuery }" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
NodeKind subclass:#ConstructedNodeKind |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
instanceVariableNames:'' |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
category:'XQuery-Sequence' |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
!ConstructedNodeKind class methodsFor:'accessing'! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
documentAdaptor |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
^ ConstructedNodeXDMAdaptor instance. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
"Modified: / 07-10-2009 / 11:14:16 / Jan Kurs <kursj1@fel.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
"Modified: / 28-01-2010 / 11:33:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
! ! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
!ConstructedNodeKind methodsFor:'private'! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
hybridKind |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
^ HybridNodeKind instance. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
"Created: / 03-10-2009 / 23:12:05 / Jan Kurs <kursj1@fel.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
"Modified: / 07-10-2009 / 10:30:04 / Jan Kurs <kursj1@fel.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
isHybrid: nodeId |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
" return true if the nodeId is hybrid " |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
^ self hybridKind isHybrid: nodeId. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
"Created: / 03-10-2009 / 22:58:09 / Jan Kurs <kursj1@fel.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
"Modified: / 07-10-2009 / 11:50:39 / Jan Kurs <kursj1@fel.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
! ! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
|
284 | 40 |
!ConstructedNodeKind methodsFor:'testing'! |
41 |
||
42 |
isConstructedNode |
|
43 |
^true. |
|
44 |
||
45 |
"Created: / 24-04-2012 / 15:24:48 / Adam Senk <senkadam@gmail.com>" |
|
46 |
! ! |
|
47 |
||
241
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
!ConstructedNodeKind methodsFor:'transformations'! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
transformNodeIds:nodeIds usingDocumentAdaptor:adaptor |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
"Superclass XQuery::SequenceItemKind says that I am responsible to implement this method" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
^ XQuerySequence withAll: (nodeIds |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
collect:[:nodeId | |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
| kind | |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
self assert: (nodeId class = XQueryConstructedItem). |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
(self isHybrid: nodeId) ifTrue: [ |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
kind := self hybridKind. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
] ifFalse: [ |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
kind := self. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
]. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
NodeItem new |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
nodeId: nodeId; |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
documentAdaptor: adaptor; |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
itemKind: kind. |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
]) |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
"Modified: / 05-10-2009 / 16:18:36 / Jan Kurs <kursj1@fel.cvut.cz>" |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
! ! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
!ConstructedNodeKind class methodsFor:'documentation'! |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
|
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
version_SVN |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
^ '$Id$' |
e28ef0f20186
Branch datatypes reintegrated
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
! ! |