我们可以定义一个通用的xhtmlatex6吗?

时间:2014-01-30 15:53:45

标签: html css xml xslt latex

我对文档标记的html5标准不是特别满意。它似乎更适合网站,无法弄清楚什么是更高级别和更低级别的语义标记。

我对乳胶不是特别满意。它没有合理的语法。

我对xhtml并不是特别满意。如果<span><div>如此常见,他们是否可以使用<s><d>作为常用缩写?

我想知道---是否有可能定义我自己的xml语言,每个现代浏览器都可以呈现(例如,如果文档引用xslt转换规则,或类似的东西)?我不想从头开始,而是使用模板,例如,定义html4的子集。我想要定义类乳胶的macro =标签(例如,\section&lt; - &gt; <section>)。它不具备某些乳胶功能,如newcommand或def或.......使用支持工具,这样的latex-markup xml语言是否已经存在?

然后可以很容易地将其渲染成浏览器原生的html,或者很容易地变成乳胶文件---这样可以解决上面的许多缺点。

1 个答案:

答案 0 :(得分:1)

  

- 可以定义我自己的xml语言,每个现代浏览器都可以呈现

XML中的X代表“可扩展” - 所以是的,您可以定义自己的变体(或者可能适合您的find an existing one)。

如果您构建了一个样式表来将语法转换为HTML,并在文档中包含对样式表的引用,那么任何浏览器都能够显示它。


修改

这是一个非常简单(并非严格正确)的例子。

将其另存为“content.xml”:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="xslt.xsl"?>
<private>
    <eltit>My Title</eltit>
    <ydob>
        <crown>Lorem Ipsum</crown>
        <arap>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam interdum ante quis erat pellentesque elementum.</arap>
        <arap>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut molestie quam sit amet ligula.</arap>
        <arap>In enim. Duis dapibus hendrerit quam. Donec hendrerit lectus vel nunc.</arap>
        <crown>Vivamus Adipiscing</crown>
        <arap>Vivamus adipiscing, turpis ac consectetuer rhoncus, tortor lorem hendrerit nisi, ac tempus sem mauris in tortor.</arap>
        <arap>Nulla elit est, rutrum at, semper id, mollis sed, tortor.</arap>
    </ydob>
</private>

将其另存为“xslt.xsl”:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" indent="yes"/>

<xsl:template match="/private">
<html>
    <xsl:apply-templates/>
</html>
</xsl:template>

<xsl:template match="eltit">
<title>
    <xsl:apply-templates/>
</title>
</xsl:template>

<xsl:template match="ydob">
<body>
    <xsl:apply-templates/>
</body>
</xsl:template>

<xsl:template match="crown">
<h2>
    <xsl:apply-templates/>
</h2>
</xsl:template>

<xsl:template match="arap">
<p>
    <xsl:apply-templates/>
</p>
</xsl:template>

</xsl:stylesheet> 

在浏览器中加载“content.xml”(确保“xslt.xsl”位于同一目录中)。