hi, Am Montag, 28. November 2022, 15:41:20 CET schrieb meik michalke: > i've also tried to make the XML parser not freak out when it encounters > empty attributes (i.e., only the attribute name without a value, as common > in HTML5). that needs more testing. the current workaround is to add a > value (same as attribute name), as there's still no way to generate empty > attributes yet.
i have now also fixed this long standing issue. now you can not only parse, but also generate empty attributes, by setting an attribute's value to character(): gen_tag_functions( tags=c("input"), envir=as.environment("XiMpLe_wrappers") ) input_(type="checkbox", checked=character(), disabled=character()) # <input type="checkbox" checked disabled /> with the latest additions, XiMpLe can pretty much also be used to comfortably maintain static HTML web projects. instead of templating, you write functions that generate pages. i've also included a new function to deal with static files (like CSS, JavaScript or web fonts) called provide_file(). here's an example from ?provide_file: my_HTML <- XMLNode( "link", rel="stylesheet", type="text/css", href=provide_file( rel="static/css/bootstrap.min.css", to="/tmp", from="~/webpage/v1" ) ) this would generate a <link> tag: # <link rel="stylesheet" type="text/css" href="static/css/bootstrap.min.css" # /> but instead of simply setting the href attribute, provide_file() looks for an actual copy of that file at ~/webpage/v1/static/css/bootstrap.min.css and writes a copy to the web project root, here /tmp/static/css/bootstrap.min.css. this can also be used for images etc. it ensures that all referenced files are actually available, and you can always regenerate a complete, working web project from scratch. e.g., you can quickly examine what the complete web page would look like with a different theme, behave with an updated bootstrap version etc. i have already realized a small web project using the package (it was actually the driving force behind my recent work on XiMpLe) and am preparing to replace the old PHP code of two much more complex pages in the near future with static HTML this way. i have also prepared rkwarddev to work with the new version. most work here was getting the unit tests to run again because the new object class layout had slightly changed. i finally decided to keep the old classes in the package (otherwise it wouldn't have been possible to load saved objects that were generated by older versions of XiMpLe) and added methods as_XiMpLe_node() and as_XiMpLe_doc() to update these old objects. in case you'd like to check it out: devtools::install_github("rkward-community/XiMpLe", ref="develop") i'm planning to upload this to CRAN shortly, so if you run into issues, please drop me a note :) viele grüße :: m.eik -- dipl. psych. meik michalke institut f"ur experimentelle psychologie abt. f"ur diagnostik und differentielle psychologie heinrich-heine-universit"at d-40204 d"usseldorf
signature.asc
Description: This is a digitally signed message part.