`<seg>`和`<span>`

时间:2016-05-07 03:50:48

标签: html xml

XML中的<seg>和HTML中的<span>之间的区别是什么?以下是圣经的两个段落,一个来自English Bible中的Christodouloupoulos' and Steedman's massively parallel Bible corpus

<?xml version="1.0" ?>
<cesDoc version="4">
    …
    <text>
        <body id="Bible" lang="en">
            <div id="b.GEN" type="book">
                <div id="b.GEN.1" type="chapter">
                    <seg id="b.GEN.1.1" type="verse">
                        In the beginning God created the heaven and the earth.
                    </seg>
                    <seg id="b.GEN.1.2" type="verse">
                        And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters.
                    </seg>
                    …

和另一个来自Bible Gateway的NIV英文圣经,这是他们获得大部分文本的地方:

<p class="chapter-1">
    <span id="en-NIV-27932" class="text Rom-1-1">
        <span class="chapternum">1&nbsp;</span>
        Paul, a servant of Christ Jesus, called to be an apostle and set apart for the gospel of God—
    </span> 
    <span id="en-NIV-27933" class="text Rom-1-2">
        <sup class="versenum">2&nbsp;</sup>the gospel he promised beforehand through his prophets in the Holy Scriptures
    </span> 
    …

在HTML中,似乎<span>可以替换<seg>,但HTML已在<span>中添加了经文数字。哦,章节在<div>。所以它不是一对一的。

当然,我意识到HTML和XML是不同的,这只是一个并置;我确定那里还有其他人。但我需要能够将XML显示为HTML,而我并不想激怒 doctype 众神。因此,从概念上讲,<seg>在目的,含义和用法方面与<span>有何不同?

更新:@ jim-garrison,我说我需要阅读架构来理解XML,但我也是新手。特别是,我确实通过TEI为<seg>找到了一些official-looking documentation,这让我觉得它的使用有点多于任意,但我不知道如何解释这个文档。它应该给我们一个比吉姆已经写过的更具体的答案吗?

1 个答案:

答案 0 :(得分:3)

XML和HTML之间的区别通常是XML中可以存在的标记列表由DTD或XML Schema定义,标记表示文档语义而不是 presentation < / em>的。所以标签可以命名为任何东西。在HTML中,标记集通常是预定义的,就好像存在预先存在的HTML DTD或模式,但HTML 不是 XML并且不遵循XML的所有规则。虽然HTML在某种意义上来自与XML(SGML)相同的父级,并且两者在表面上非常相似,但它们绝对不是同一个东西。

您的具体问题的答案是,XML的编写者选择使用名为<seg>的标签(&#34;段&#34;?)来表示广义的文本字符串,其中的属性提供了额外的语义信息。有关更多详细信息,您需要找到管理XML内容的DTD或XML模式,并阅读随附的文档。

  

但是我需要能够将XML显示为HTML,而且我不想激怒doctype众神。因此,从概念上讲,与目的,意义和用法有何不同?

在这里,您将使用XSLT 输入XML转换为有效的HTML。要弄清楚如何进行转换,您需要知道可以出现的所有标记的完整语义(再次,转到DTD / Schema的文档)并确定数据的可视化表示。没有人回答&#34; <seg>&#34;被改造了。这符合您对演示文稿的要求。一种可能的转换会将<seg>标记转换为<span>,但这可能取决于某些属性的值(type="verse"与其他类型相比)。它甚至可能因输出介质而异(桌面与平板电脑对手机与手表对比......?)

一旦你从XML转换为HTML,你已经离开了Doctype众神的领域,他们对你所做的事情没有兴趣:-)那里有一整套不同的神灵,比如CSS-Cthulhu,Javascript-Janai& #39; ngo(查阅)等人会非常高兴让你的生活变得悲惨。