¿Cuál es la forma correcta de manejar xml-stylesheet: xmlns: bla con haml?
Pregunta
Estoy tratando de conectar un blog con algunos espacios de nombres XML y hojas de estilo XML.
La fea manera que yo estoy haciendo esto actualmente se ve así:
!!! XML
= partial('xmlstyle')
%channel
......blah.....
= partial('xmlend')
donde
_xmlstyle.xml.erb se ve así:
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?>
<?xml-stylesheet type="text/css" media="screen"
href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
_xmlend.xml.erb se ve así:
</rss>
¿Debo seguir con erb por ahora? Tiene que haber una manera de hacer esto en haml derecho?
Solución
Haml no tiene sintaxis de las directivas de hojas de estilo XML, pero no hay razón por la que no se puede incluir directamente. En cuanto a los atributos xmlns:blah
, puede utilizar cadenas como los nombres de los atributos, así:
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
%rss{"xmlns:content" => "http://purl.org/rss/1.0/modules/content/",
"xmlns:wfw" => "http://wellformedweb.org/CommentAPI/",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/",
"xmlns:atom" => "http://www.w3.org/2005/Atom",
"xmlns:sy" => "http://purl.org/rss/1.0/modules/syndication/",
"xmlns:slash" => "http://purl.org/rss/1.0/modules/slash/",
"xmlns:feedburner" => "http://rssnamespace.org/feedburner/ext/1.0",
:version => "2.0"}
%channel
blah
atributos También es posible usar HTML-estilo con ()
:
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
%rss(xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"
version="2.0")
%channel
blah
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow