profiling에 대해서 질문올립니다.

닥북 활용에 대한 모든 질문과 답변

profiling에 대해서 질문올립니다.

전체글글쓴이: Jack » 2010-01-15 2:23 pm

the markup in the document preceding the root element must be well-formed

제가 xml에 무뇌하기때문에 좀 자세하게 올리겠습니다 꼭좀 답변주시기 바랍니다.

일단 근본적인 에러는 저 맨윗줄에 쓴 에러가 나구요

제생각엔 docbookx.dtd 를불러서 연동하는과정에서 충돌이 일어나는것같습니다.

기본적으로 oxygen을 사용하고 있으며 pdf로 변동하고 있습니다.

일단 제가 건드린 소스를 올리겠습니다.

아래에 있는 글들처럼 document도 보고 http://www.sagehill.net/docbookxsl/AddProfileAtt.html
사이트도 참조하여 변환할수 있는것들은 다변환하여 보았습니다.

일단 제가 하려는 xml 맨위 소스는

<?xml version="1.0" encoding="UTF-8"?>

<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "docbookx.dtd" [
<!ENTITY % local.effectivity.attrib
"model CDATA #IMPLIED
oem CDATA #IMPLIED">

<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"docbookx.dtd">
]>

%DocBookDTD;

이렇게 수정하였으며 사이트에서 나오는
profiling/profile-module.xsl 폴더에 이 파일이 없었으나 profile-mode 폴더를 열어보니 비슷한듯하여 <xsl:variable name="audience.content">
여기 윗줄에 아래의 글을 추가하였습니다.

<xsl:variable name="oem.content">
<xsl:if test="@oem">
<xsl:call-template name="cross.compare">
<xsl:with-param name="a" select="$profile.oem"/>
<xsl:with-param name="b" select="@oem"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="oem.ok"
select="not(@oem) or not($profile.oem) or
$oem.content != '' or @oem = ''"/>


fo xml에

<xsl:output method="xml"
doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>

이것을 추가하였구요..이상 제가 건드린부분은 거의 대부분 말씀드린것같습니다.

부디 명쾌한 답변을 부탁드리겠습니다.

아그리고 연동될때 에러나는 부분은 docbookx.dtd 주석부분을 지나 처음

<!ENTITY % sgml.features "IGNORE">
<![%sgml.features;[
이부분에서 바로 에러나 나버립니다.
Jack
 

Re: profiling에 대해서 질문올립니다.

전체글글쓴이: 류광 » 2010-01-15 4:12 pm

일단.. http://www.sagehill.net/docbookxsl/AddProfileAtt.html에서 "If you have a lot files, adding declarations..." 아래의 예제 코드는 핵심만 간략하게 제시한 것 같고요. 제가 파악하기로는 local.effectivity.attrib 부분을 docbookx.dtd에 추가하고, XML 파일 자체는 이런 식으로 만들어야 합니다.
코드: 모두 선택
<?xml version="1.0" encoding="UTF-8"?>

<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "docbookx.dtd" [
<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"docbookx.dtd">
%DocBookDTD;
]>
<book>
.....


기본적인 활용 이상의 뭔가를 하실 거라면 XML과 XSLT를 본격적으로 공부하시는 게 더 빠를 것입니다...
류광
사용자
 
전체글: 432
가입일: 2003-12-27 12:02 am

하나더 질문드립니다.

전체글글쓴이: Jack » 2010-01-15 4:28 pm

일단 활용하기 위해서 docbookx.dtd 이파일 안에
<!ENTITY % local.effectivity.attrib
"model CDATA #IMPLIED
oem CDATA #IMPLIED">
이런식으로 더 추가를 해야되는건가요? 아님 닥북엑스 파일은 건드리면 안되는것인가요??

그리고 추가를 해야된다면 조금 구체적으로 좀 알려주세요^^:;꼭좀 부탁드릴꼐요 :-)
Jack
 

아그리고

전체글글쓴이: Jack » 2010-01-15 4:35 pm

알려주신대로 <?xml version="1.0" encoding="UTF-8"?>

<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "docbookx.dtd" [


<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"docbookx.dtd">

%DocBookDTD;
]>

이렇게 하면 신택스 에러가납니다

맨밑에
]>
%DocBookDTD;
요롷게하면 안나는데 맞는 방법인지요??
Jack
 

Re: 하나더 질문드립니다.

전체글글쓴이: 류광 » 2010-01-15 4:51 pm

Jack 작성:일단 활용하기 위해서 docbookx.dtd 이파일 안에
<!ENTITY % local.effectivity.attrib
"model CDATA #IMPLIED
oem CDATA #IMPLIED">
이런식으로 더 추가를 해야되는건가요? 아님 닥북엑스 파일은 건드리면 안되는것인가요??

그리고 추가를 해야된다면 조금 구체적으로 좀 알려주세요^^:;꼭좀 부탁드릴꼐요 :-)


아... 다시 보니 커스텀 DTD 파일을 만든다는 이야기네요. 예 docbookx.dtd는 건드리지 말고,

<!ENTITY % local.effectivity.attrib
"model CDATA #IMPLIED
oem CDATA #IMPLIED">

<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"docbookx.dtd">
%DocBookDTD;

를 개별적인 .dtd 파일에 저장해서 XML 파일의 <!DOCTYPE ...에 지정한다는 것 같습니다. 예를 들어 custom.dtd로 저장했다면(XML 파일이 있는 곳에)
<!DOCTYPE book system "custom.dtd">
로 하면 될 것입니다.

DTD에 커스텀 특성을 추가하는 것은 해 본적이 없는데 최대한 해 보시고 경험을 공유해 주시길~
류광
사용자
 
전체글: 432
가입일: 2003-12-27 12:02 am

아....

전체글글쓴이: Jack » 2010-01-15 5:15 pm

일단 알려주신대로 다 시행해 보았으나 XML

<?xml version="1.0" encoding="UTF-8"?>

<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
<!DOCTYPE book PUBLIC "custom.dtd">



이부분의 맨밑에서 바로 신텍스 에러가 납니다

그리고 custom.dtd 에서 내용은
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % local.effectivity.attrib
"model CDATA #IMPLIED
oem CDATA #IMPLIED">

<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"docbookx.dtd">


%DocBookDTD;
이렇습니다.

....휴.....어디가 잘못된걸까요.....근데 어짜피 custom.dtd에서 docbookx.dtd 를 호출하는거면 관계 없지 않을까요?
Jack
 


다시 돌아감: 질문과 답변

접속 중인 사용자

이 포럼에 접속 중인 사용자: 접속한 회원이 없음 그리고 손님 1 명

cron