3 importJava "org.jdom2.Document" where
\r
7 createDocument :: Element -> <Proc> Document
\r
9 @JavaName getRootElement
\r
10 rootElementOf :: Document -> <Proc> Element
\r
12 @JavaName setRootElement
\r
13 setRootElement :: Document -> Element -> <Proc> ()
\r
15 importJava "org.jdom2.Element" where
\r
19 createElement :: String -> <Proc> Element
\r
22 nameOf :: Element -> <Proc> String
\r
25 textOf :: Element -> <Proc> String
\r
27 @JavaName getParentElement
\r
28 parentOf :: Element -> <Proc> Maybe Element
\r
30 @JavaName getChildren
\r
31 childrenWithNameOf :: Element -> String -> <Proc> [Element]
\r
33 @JavaName getChildren
\r
34 childrenOf :: Element -> <Proc> [Element]
\r
37 childWithNameOf :: Element -> String -> <Proc> Maybe Element
\r
39 @JavaName getAttributeValue
\r
40 attributeOf :: Element -> String -> <Proc> Maybe String
\r
42 @JavaName getAttributes
\r
43 attributesOf :: Element -> <Proc> [Attribute]
\r
45 @JavaName addContent
\r
46 addChild :: Element -> Element -> <Proc> ()
\r
48 setName :: Element -> String -> <Proc> ()
\r
50 setText :: Element -> String -> <Proc> ()
\r
52 setAttribute :: Element -> String -> String -> <Proc> ()
\r
55 equalsElement :: Element -> Element -> Boolean
\r
57 instance Eq Element where
\r
58 (==) = equalsElement
\r
60 importJava "org.jdom2.Attribute" where
\r
64 valueOfAttribute :: Attribute -> <Proc> String
\r
67 nameOfAttribute :: Attribute -> <Proc> String
\r
69 Element ?parentElement ?childName ?childElement :-
\r
71 ?childName = nameOf ?childElement
\r
72 Optional ?parentElement (parentOf ?childElement)
\r
75 ?childElement <- childrenWithNameOf ?parentElement ?childName
\r
78 ?childElement <- childrenOf ?parentElement
\r
79 ?childName = nameOf ?childElement
\r
82 Execute (addNamedChild ?parentElement ?childName ?childElement)
\r
84 Attribute ?element ?attributeName ?attributeValue :-
\r
86 Optional ?attributeValue (attributeOf ?element ?attributeName)
\r
89 ?attribute <- attributesOf ?element
\r
90 ?attributeName = nameOfAttribute ?attribute
\r
91 ?attributeValue = valueOfAttribute ?attribute
\r
95 setAttribute ?element ?attributeName ?attributeValue
\r
97 TextContent ?element ?textContent :-
\r
99 ?textContent = textOf ?element
\r
103 setText ?element ?textContent
\r
105 XPathElement ?parentElement ?xpathExpression ?childElement :-
\r
107 ?childElement <- elementsByXPath ?parentElement ?xpathExpression
\r
109 importJava "org.simantics.scl.data.xml.JDomHelper" where
\r
110 parseString :: String -> <Proc> Document
\r
111 parseFile :: String -> <Proc> Document
\r
112 outputString :: Document -> <Proc> String
\r
114 elementsByXPath :: Element -> String -> <Proc> [Element]
\r
115 addNamedChild :: Element -> String -> Element -> <Proc> ()
\r
116 setNamespace :: Document -> String -> <Proc> ()
\r
117 setElementNamespace :: Element -> String -> <Proc> ()
\r
118 clearNamespace :: Document -> <Proc> ()
\r
119 clearElementNamespace :: Element -> <Proc> ()
\r
120 sortChildrenWith :: (Element -> Element -> <e> Integer) -> Element -> <Proc,e> ()
\r
122 parseStringWithSchemaFile :: String -> String -> <Proc> Document
\r
123 //parseStringWithSchemaURL :: URL -> String -> <Proc> Document
\r
124 parseFileWithSchemaFile :: String -> String -> <Proc> Document
\r
125 //parseFileWithSchemaURL :: URL -> String -> <Proc> Document
\r
127 sortChildrenBy :: Ord a => (Element -> <e> a) -> Element -> <Proc,e> ()
\r
128 sortChildrenBy f el = sortChildrenWith (\x y -> compare (f x) (f y)) el