-import "OSGi"\r
-\r
-importJava "org.jdom2.Document" where\r
- data Document\r
- \r
- @JavaName "<init>"\r
- createDocument :: Element -> <Proc> Document\r
- \r
- @JavaName getRootElement\r
- rootElementOf :: Document -> <Proc> Element\r
- \r
- @JavaName setRootElement\r
- setRootElement :: Document -> Element -> <Proc> ()\r
- \r
-importJava "org.jdom2.Element" where\r
- data Element\r
- \r
- @JavaName "<init>"\r
- createElement :: String -> <Proc> Element\r
- \r
- @JavaName getName\r
- nameOf :: Element -> <Proc> String\r
- \r
- @JavaName getText\r
- textOf :: Element -> <Proc> String\r
- \r
- @JavaName getParentElement\r
- parentOf :: Element -> <Proc> Maybe Element\r
- \r
- @JavaName getChildren\r
- childrenWithNameOf :: Element -> String -> <Proc> [Element]\r
- \r
- @JavaName getChildren\r
- childrenOf :: Element -> <Proc> [Element]\r
- \r
- @JavaName getChild\r
- childWithNameOf :: Element -> String -> <Proc> Maybe Element\r
- \r
- @JavaName getAttributeValue\r
- attributeOf :: Element -> String -> <Proc> Maybe String\r
- \r
- @JavaName getAttributes\r
- attributesOf :: Element -> <Proc> [Attribute]\r
- \r
- @JavaName addContent\r
- addChild :: Element -> Element -> <Proc> ()\r
- \r
- setName :: Element -> String -> <Proc> ()\r
- \r
- setText :: Element -> String -> <Proc> ()\r
- \r
- setAttribute :: Element -> String -> String -> <Proc> ()\r
- \r
-importJava "org.jdom2.Attribute" where\r
- data Attribute\r
- \r
- @JavaName getValue\r
- valueOfAttribute :: Attribute -> <Proc> String\r
- \r
- @JavaName getName\r
- nameOfAttribute :: Attribute -> <Proc> String\r
-\r
-Element ?parentElement ?childName ?childElement :-\r
- @ffb 1.0\r
- ?childName = nameOf ?childElement\r
- Optional ?parentElement (parentOf ?childElement)\r
- \r
- @bbf 10.0\r
- ?childElement <- childrenWithNameOf ?parentElement ?childName\r
-\r
- @bff 10.0\r
- ?childElement <- childrenOf ?parentElement\r
- ?childName = nameOf ?childElement\r
- \r
- @enforce\r
- Execute (addNamedChild ?parentElement ?childName ?childElement)\r
- \r
-Attribute ?element ?attributeName ?attributeValue :-\r
- @bbf 0.95\r
- Optional ?attributeValue (attributeOf ?element ?attributeName)\r
-\r
- @bff 4.0\r
- ?attribute <- attributesOf ?element\r
- ?attributeName = nameOfAttribute ?attribute\r
- ?attributeValue = valueOfAttribute ?attribute\r
-\r
- @enforce\r
- Execute do\r
- setAttribute ?element ?attributeName ?attributeValue\r
-\r
-TextContent ?element ?textContent :-\r
- @bf 1\r
- ?textContent = textOf ?element\r
- \r
- @enforce\r
- Execute do\r
- setText ?element ?textContent\r
-\r
-XPathElement ?parentElement ?xpathExpression ?childElement :-\r
- @bbf 10\r
- ?childElement <- elementsByXPath ?parentElement ?xpathExpression\r
-\r
-importJava "org.simantics.scl.data.xml.JDomHelper" where\r
- parseString :: String -> <Proc> Document\r
- parseFile :: String -> <Proc> Document\r
- outputString :: Document -> <Proc> String\r
- \r
- elementsByXPath :: Element -> String -> <Proc> [Element]\r
- addNamedChild :: Element -> String -> Element -> <Proc> ()\r
- setNamespace :: Document -> String -> <Proc> ()\r
- setElementNamespace :: Element -> String -> <Proc> ()\r
- clearNamespace :: Document -> <Proc> ()\r
- clearElementNamespace :: Element -> <Proc> ()\r
- sortChildrenWith :: (Element -> Element -> <e> Integer) -> Element -> <Proc,e> () \r
- \r
- parseStringWithSchemaFile :: String -> String -> <Proc> Document\r
- //parseStringWithSchemaURL :: URL -> String -> <Proc> Document\r
- parseFileWithSchemaFile :: String -> String -> <Proc> Document\r
- //parseFileWithSchemaURL :: URL -> String -> <Proc> Document\r
-\r
-sortChildrenBy :: Ord a => (Element -> <e> a) -> Element -> <Proc,e> ()\r
+import "OSGi"
+
+importJava "org.jdom2.Document" where
+ data Document
+
+ @JavaName "<init>"
+ createDocument :: Element -> <Proc> Document
+
+ @JavaName getRootElement
+ rootElementOf :: Document -> <Proc> Element
+
+ @JavaName setRootElement
+ setRootElement :: Document -> Element -> <Proc> ()
+
+importJava "org.jdom2.Element" where
+ data Element
+
+ @JavaName "<init>"
+ createElement :: String -> <Proc> Element
+
+ @JavaName getName
+ nameOf :: Element -> <Proc> String
+
+ @JavaName getText
+ textOf :: Element -> <Proc> String
+
+ @JavaName getParentElement
+ parentOf :: Element -> <Proc> Maybe Element
+
+ @JavaName getChildren
+ childrenWithNameOf :: Element -> String -> <Proc> [Element]
+
+ @JavaName getChildren
+ childrenOf :: Element -> <Proc> [Element]
+
+ @JavaName getChild
+ childWithNameOf :: Element -> String -> <Proc> Maybe Element
+
+ @JavaName getAttributeValue
+ attributeOf :: Element -> String -> <Proc> Maybe String
+
+ @JavaName getAttributes
+ attributesOf :: Element -> <Proc> [Attribute]
+
+ @JavaName addContent
+ addChild :: Element -> Element -> <Proc> ()
+
+ setName :: Element -> String -> <Proc> ()
+
+ setText :: Element -> String -> <Proc> ()
+
+ setAttribute :: Element -> String -> String -> <Proc> ()
+
+importJava "org.jdom2.Attribute" where
+ data Attribute
+
+ @JavaName getValue
+ valueOfAttribute :: Attribute -> <Proc> String
+
+ @JavaName getName
+ nameOfAttribute :: Attribute -> <Proc> String
+
+Element ?parentElement ?childName ?childElement :-
+ @ffb 1.0
+ ?childName = nameOf ?childElement
+ Optional ?parentElement (parentOf ?childElement)
+
+ @bbf 10.0
+ ?childElement <- childrenWithNameOf ?parentElement ?childName
+
+ @bff 10.0
+ ?childElement <- childrenOf ?parentElement
+ ?childName = nameOf ?childElement
+
+ @enforce
+ Execute (addNamedChild ?parentElement ?childName ?childElement)
+
+Attribute ?element ?attributeName ?attributeValue :-
+ @bbf 0.95
+ Optional ?attributeValue (attributeOf ?element ?attributeName)
+
+ @bff 4.0
+ ?attribute <- attributesOf ?element
+ ?attributeName = nameOfAttribute ?attribute
+ ?attributeValue = valueOfAttribute ?attribute
+
+ @enforce
+ Execute do
+ setAttribute ?element ?attributeName ?attributeValue
+
+TextContent ?element ?textContent :-
+ @bf 1
+ ?textContent = textOf ?element
+
+ @enforce
+ Execute do
+ setText ?element ?textContent
+
+XPathElement ?parentElement ?xpathExpression ?childElement :-
+ @bbf 10
+ ?childElement <- elementsByXPath ?parentElement ?xpathExpression
+
+importJava "org.simantics.scl.data.xml.JDomHelper" where
+ parseString :: String -> <Proc> Document
+ parseFile :: String -> <Proc> Document
+ outputString :: Document -> <Proc> String
+
+ elementsByXPath :: Element -> String -> <Proc> [Element]
+ addNamedChild :: Element -> String -> Element -> <Proc> ()
+ setNamespace :: Document -> String -> <Proc> ()
+ setElementNamespace :: Element -> String -> <Proc> ()
+ clearNamespace :: Document -> <Proc> ()
+ clearElementNamespace :: Element -> <Proc> ()
+ sortChildrenWith :: (Element -> Element -> <e> Integer) -> Element -> <Proc,e> ()
+
+ parseStringWithSchemaFile :: String -> String -> <Proc> Document
+ //parseStringWithSchemaURL :: URL -> String -> <Proc> Document
+ parseFileWithSchemaFile :: String -> String -> <Proc> Document
+ //parseFileWithSchemaURL :: URL -> String -> <Proc> Document
+
+ addCDATA :: Element -> String -> <Proc> ()
+ getCDATAs :: Element -> <Proc> [String]
+
+
+sortChildrenBy :: Ord a => (Element -> <e> a) -> Element -> <Proc,e> ()
sortChildrenBy f el = sortChildrenWith (\x y -> compare (f x) (f y)) el
\ No newline at end of file