# profiles-to-html5 notes
## Transform modules:
- [htmlProfiles-all.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-all.xsl)
- [htmlProfiles-core-formats.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl)
- [htmlProfiles-formatStrings.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-formatStrings.xsl)
- [htmlProfiles-qaSources.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-qaSources.xsl)
*\* File versions from [tree 0dfc47f680](https://github.com/uwlib-cams/webviews/tree/0dfc47f680c48a92a7374b3024c25cb88613188f)*
*\*\* See also [this problem (solved)](https://hackmd.io/@ries07/rJlULsPcL) re: html profiles transforms*
## Still-to-dos, et cetera
### General
- Change output type to HTML5 (`xsl:output`)
### [htmlProfiles-all.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-all.xsl)
- Understand `xsl:sequence` and its `@select` better, especially `$t?output` ([line 21](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-all.xsl#L21))
### [htmlProfiles-core-formats.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl)
#### Still-to-dos:
- Output source profile HTML version
- Eliminate hard-coding for `valueTemplateRefs` (see [lines 330-343](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl#L330))
- Low priority:
- There are places where regexes could be used to prettify output text values (see [line 154](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl#L154), [line 244](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl#L244), [line 289](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl#L289))
\* From enumerated values for use in source profile: `monograph`, `etd`, `serial`, etc.
#### Questions:
- Why am I getting namespace declarations (sometimes empty, sometimes for XML Schema namespace) in *certain* output elements? Does this have to do with the fact that I'm outputting as XHTML? Would it be possible to output as HTML(5)?
- Also oXygen (X?)HTML validator doesn't seem to like \<section\> elements
- Would there ever be a situation where we could give more than one datatype URI? If so, changes will be needed (see [lines 359-368](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-core-formats.xsl#L359))
### [htmlProfiles-qaSources.xsl](https://github.com/uwlib-cams/webviews/blob/0dfc47f680c48a92a7374b3024c25cb88613188f/xslt/htmlProfiles-qaSources.xsl)
- Output `useValuesFrom` URNs as well as other lookup source info
- Keep this up-to-date as new lookup sources are added to profiles
###### tags: `xslt`