文本格式/DOM的错误消息-InDesign、XML、XSLT&;CSS
我已经使用InDesign好几年了,但才刚刚开始学习使用XML标记、创建XSLT和CSS样式。 我在一本书中找到了一个用于XSLT的示例&将其改编为在一个简单的InDesign文档中使用该结构,以便在设置适当的文档之前能够完全理解它。 我通过HTML创建了CSS(不包括顶部对文档类型的引用,仅限于样式)。 每次我尝试使用XSLT(调用CSS)将XML文件导入InDesign时,都会收到以下错误代码: “xsl:output method=”指定的文本格式/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 请任何人都能帮助我理解我哪
文本格式不适用于DOM
请任何人都能帮助我理解我哪里出了错&我需要改变什么
我的XSLT如下所示:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<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?