{"id":2942,"date":"2015-12-23T15:57:46","date_gmt":"2015-12-23T21:57:46","guid":{"rendered":"http:\/\/huewhite.com\/umb\/?p=2942"},"modified":"2015-12-23T15:57:46","modified_gmt":"2015-12-23T21:57:46","slug":"current-project-ctd-11","status":"publish","type":"post","link":"https:\/\/huewhite.com\/umb\/2015\/12\/23\/current-project-ctd-11\/","title":{"rendered":"Current Project, Ctd"},"content":{"rendered":"<p>With regard to my current <a href=\"https:\/\/huewhite.com\/umb\/2015\/10\/24\/current-project-ctd-10\/\" target=\"_blank\">programming project<\/a>, the XML parser in Mythryl, I&#8217;ve been rather stalled out as of late, partly for mundane reasons (it&#8217;s Christmas), but also because of <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#sec-prolog-dtd\" target=\"_blank\">this<\/a>:<\/p>\n<blockquote><p>The markup declarations may be made up in whole or in part of the <a title=\"Replacement Text\" href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#dt-repltext\">replacement text<\/a> of <a title=\"Parameter entity\" href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#dt-PE\">parameter entities<\/a>. The productions later in this specification for individual nonterminals (<a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-elementdecl\">elementdecl<\/a>, <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-AttlistDecl\">AttlistDecl<\/a>, and so on) describe the declarations <em>after<\/em> all the parameter entities have been <a title=\"Include\" href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#dt-include\">included<\/a>.<\/p><\/blockquote>\n<p>The relevant productions:<\/p>\n<blockquote><p>[28] <code>doctypedecl\u00a0\u00a0\u00a0::= '&lt;!DOCTYPE' <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-S\">S<\/a> <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-Name\">Name<\/a> (<a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-S\">S<\/a> <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-ExternalID\">ExternalID<\/a>)? <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-S\">S<\/a>? ('[' <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-intSubset\">intSubset<\/a> ']' <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-S\">S<\/a>?)? '&gt;'<\/code><\/p>\n<p>[28a] <code>DeclSep\u00a0\u00a0\u00a0::= <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-PEReference\">PEReference<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-S\">S<\/a> <\/code><\/p>\n<p>[28b] <code>intSubset\u00a0\u00a0\u00a0::= (<a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-markupdecl\">markupdecl<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-DeclSep\">DeclSep<\/a>)*<\/code><\/p>\n<p>[29] <code>markupdecl<\/code>\u00a0\u00a0\u00a0::=<code> <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-elementdecl\">elementdecl<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-AttlistDecl\">AttlistDecl<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-EntityDecl\">EntityDecl<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-NotationDecl\">NotationDecl<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-PI\">PI<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-Comment\">Comment<\/a><\/code><\/p>\n<p>[30] <code>extSubset\u00a0\u00a0\u00a0::= <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-TextDecl\">TextDecl<\/a>? <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-extSubsetDecl\">extSubsetDecl<\/a> <\/code><\/p>\n<p>[31] <code>extSubsetDecl\u00a0\u00a0::= ( <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-markupdecl\">markupdecl<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-conditionalSect\">conditionalSect<\/a> | <a href=\"http:\/\/www.w3.org\/TR\/REC-xml\/#NT-DeclSep\">DeclSep<\/a>)*<\/code><\/p><\/blockquote>\n<p>The XML BNF does not encompass this remark, so it&#8217;s something I&#8217;ll need to handle myself.\u00a0 The <em>extSubset<\/em> production will be handled via a callback function that can then build a new recursive descent parser that knows about parameter entity references and generate a new string with all the replacements accomplished.\u00a0 I have not made a decision about <em>intSubset<\/em>, or perhaps <em>markupdecl<\/em> &#8211; a solution is not readily apparent.<\/p>\n<p>In other news, a new release of <a href=\"http:\/\/mythryl.org\" target=\"_blank\">Mythryl<\/a> occurred.\u00a0 I shan&#8217;t link to it because my attempt to compile it failed.\u00a0 Turns out Cynbe, the developer, didn&#8217;t notice some supporting third party libraries went through a major versioning while he was busy with development and chemotherapy.\u00a0 I tried to compile with the latest and failed.\u00a0 If I had lots of time, I could learn about the component in question (it has to do with OpenGL) and fix it up &#8211; but I haven&#8217;t that much time, nor interest (graphics has never been an interest of mine).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With regard to my current programming project, the XML parser in Mythryl, I&#8217;ve been rather stalled out as of late, partly for mundane reasons (it&#8217;s Christmas), but also because of this: The markup declarations may be made up in whole or in part of the replacement text of parameter entities. \u2026 <a class=\"continue-reading-link\" href=\"https:\/\/huewhite.com\/umb\/2015\/12\/23\/current-project-ctd-11\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2942","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/posts\/2942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/comments?post=2942"}],"version-history":[{"count":4,"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/posts\/2942\/revisions"}],"predecessor-version":[{"id":2946,"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/posts\/2942\/revisions\/2946"}],"wp:attachment":[{"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/media?parent=2942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/categories?post=2942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huewhite.com\/umb\/wp-json\/wp\/v2\/tags?post=2942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}