文本格式/DOM的错误消息-InDesign、XML、XSLT&;CSS

文本格式/DOM的错误消息-InDesign、XML、XSLT&;CSS,css,xml,xslt,adobe-indesign,Css,Xml,Xslt,Adobe Indesign,我已经使用InDesign好几年了,但才刚刚开始学习使用XML标记、创建XSLT和CSS样式。 我在一本书中找到了一个用于XSLT的示例&将其改编为在一个简单的InDesign文档中使用该结构,以便在设置适当的文档之前能够完全理解它。 我通过HTML创建了CSS(不包括顶部对文档类型的引用,仅限于样式)。 每次我尝试使用XSLT(调用CSS)将XML文件导入InDesign时,都会收到以下错误代码: “xsl:output method=”指定的文本格式不适用于DOM 请任何人都能帮助我理解我哪

我已经使用InDesign好几年了,但才刚刚开始学习使用XML标记、创建XSLT和CSS样式。 我在一本书中找到了一个用于XSLT的示例&将其改编为在一个简单的InDesign文档中使用该结构,以便在设置适当的文档之前能够完全理解它。 我通过HTML创建了CSS(不包括顶部对文档类型的引用,仅限于样式)。 每次我尝试使用XSLT(调用CSS)将XML文件导入InDesign时,都会收到以下错误代码:

“xsl:output method=”指定的
文本格式不适用于DOM

请任何人都能帮助我理解我哪里出了错&我需要改变什么

我的XSLT如下所示:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet  [
    <!ENTITY nbsp   "&#160;">
    <!ENTITY copy   "&#169;">
    <!ENTITY reg    "&#174;">
    <!ENTITY trade  "&#8482;">
    <!ENTITY mdash  "&#8212;">
    <!ENTITY ldquo  "&#8220;">
    <!ENTITY rdquo  "&#8221;">
    <!ENTITY pound  "&#163;">
    <!ENTITY yen    "&#165;">
    <!ENTITY euro   "&#8364;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>

    <xsl:template match="/">

        `enter code here`<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <!-- This text is within a comment area. It does not format or affect the file in any way. Insert the link to the external CSS file in the blank line below -->
            <link href="Mandy.css" rel="stylesheet" type="text/css" />
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        </head>
        <body>

            <div id="heading">
                <h1>
                    <xsl:apply-templates select="html/head"/>
                </h1>
            </div>

            <div id="body">
                <h1>
                    <xsl:apply-templates select="html/head/body"/>
                </h1>
            </div>

            <div id="div">
                <h1>
                    <xsl:apply-templates select="html/head/body/div"/>
                </h1>
            </div>


        </body>
    </html>
</xsl:template>
p {
    text-indent: 0mm;
    margin-left: 12mm;
    margin-right: 8mm; 
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
    }
pb {
    text-indent: 10mm;
    margin-left: 20mm;
    margin-right: 8mm;
    font-style:bold;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
    }
pf {
    text-align: justify;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
    font-style:normal;
    margin-left:2mm;
   }


h1 {
    text-align: left;
    padding-top: 5mm;
    padding-bottom: 5mm;
    font-family:"Arial-Regular", sans-serif;
    font-size: 4em;
    font-style:normal;
    line-height:100%
    }
h2 {
    text-align: left;
    margin-left:2mm;
    padding: 0mm 0mm 0mm 0mm;
     font-family:"Arial-Regular", sans-serif;
    font-size: 2.5em;
    font-style:normal;
    line-height:100%
    }    
h3 {
    text-align: left;
    padding: 0mm 0mm 0mm 0mm;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
    font-style:normal;
    line-height:100%
        }

ul.a {
    text-indent: 100px
        list-style-position: inside;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
    font-style:normal;      
    }

ul.b {
        text-indent: 100px
        list-style-position: inside;
    style="list-style-type:disc"
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
    font-style:normal;      
    }

tr.left {
    text-align: left;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
   }
tr.center {
    text-align: center;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
   }
tr.right {
    text-align: right;
    font-family:"Arial-Regular", sans-serif;
    font-size: 1.6em;
   }
td.left {
    text-align: left;
    font-family:Arial-Regular, sans-serif;
    font-size: 1.6em;
    border-collapse: collapse;
    }
td.center {
    text-align: center;
    font-family:Arial-Regular, sans-serif;
    font-size: 1.6em;
    border-collapse: collapse;
    }
td.right {
    text-align: right;
    font-family:Arial-Regular, sans-serif;
    font-size: 1.6em;
    border-collapse: collapse;
    }
th.left {
    text-align: left;
    font-family:Arial-Regular, sans-serif;
    font-size: 1.6em;
    border-collapse: collapse;
    }
th.center {
    text-align: center;
    font-family:Arial-Regular, sans-serif;
    font-size: 1.6em;
    border-collapse: collapse;
    }
th.right {
    text-align: right;
    font-family:Arial-Regular, sans-serif;
    font-size: 1.6em;
    border-collapse: collapse;
    }

我对InDesign一无所知,但试着将
method=“html”
更改为
method=“xml”
method=“xhtml”
。XSLT中的
在此处输入代码是一个复制粘贴错误吗?嗨,EiríkrÚtlendi&Daniel Haley,是的,“在此处输入代码”是一个错误,不知道这是从哪里来的!我已经尝试过method=“html”&method=“xml”,但没有尝试过xhtml,所以我会尝试一下。谢谢。InDesign中的XML导入与HTML/CSS无关。在最佳情况下,原始html语法可以作为XML导入,因为html是XML,但导入时的XML必须是XML,并且必须设置为XML。因此,将输出方法设置为xml是第一步。其次,您不能指望CSS在InDesign中正确地设置XML样式。该应用程序只是不知道CSS是什么以及如何直观地处理它们。在indesign中设置XML样式意味着使用标记来创建样式关联,或使用特定的命名空间属性,如pstyle、cstyle或表格/单元格样式。如果在导入时正在导入并正在将xslt应用于XML,则xslt的结果必须是XML。您似乎希望导入xhtml,但我不确定结果是否会符合您的预期。在导入之前,您是否尝试过在外部应用xslt?