DITA and XMetaL Discussion
ramu October 29, 2013 at 11:55 am
adding an non existing element to xmetalOctober 29, 2013 at 11:55 amParticipants 2Replies 3Last Activity 9 years, 3 months ago
hello every one
i am working on Xmetal integrated with Teamcenter content management. Now i want to use and image imported in Teamcenter cms to Xmetal. this can be done by using inline-graphic element in Xmetal. But this element is not a default element.
My question is how to add that element to Xmetal. I mean as we have some default element such as p,image etc.
hope i am clear about this question. please help me in this issue
thanks in advanceDerek Read October 29, 2013 at 10:13 pm
Reply to: adding an non existing element to xmetalOctober 29, 2013 at 10:13 pm
Your question is not very clear, but I can think of only two possibilities:
1. You wish to create a valid document that allows the new element. In this case your schema (DTD or W3C Schema) must be modified to allow the element. Once the schema is modified to allow the element XMetaL Author will display it when appropriate (when it is allowed to be inserted) in the Element List or allow you to paste it into a document. Your customization scripts can then also use APIs that check for validity and insert elements including the new element.
2. You wish to create an invalid document. You have two options here:
a) Keep “Rules Checking” on (it is by default), switch to Plain Text view and modify the document as you like. The document will be invalid so if you wish to save the document you will need to answer “yes” when told that you will be saving an invalid document. You cannot add invalid elements in Tags On or Normal views when Rules Checking is on because that is specifically what Rules Checking prohibits (along with many other things that will create an invalid document). Depending on the complexity of the invalidity (this depends on the location of the invalid element and its children) you may not be able to switch back to Tags On or Normal view from Plain Text view in this case, or Rules Checking may be turned off if the switch is allowed.
b) Turn “Rules Checking” off. Read about what this means here: http://forums.xmetal.com/index.php/topic,1122.0.html
Keep in mind that Teamcenter (and most other CMS systems) will not allow an invalid document to be checked into the CMS. Any other editors that use your schema will likely also flag the file as invalid. That could also affect transformation engines (such as XSLT) as they typically require documents to be valid before proceeding with a transformation. If any of these things are important to you then you should avoid #2.
If you are looking at a 3rd option please provide more detail.ramu October 30, 2013 at 4:03 am
Reply to: adding an non existing element to xmetalOctober 30, 2013 at 4:03 am
thanks for your response Derek Read
For my case #1 suits. But can you elobrate the explation. I mean how to modify that schema. If we see the istalled files, there are some many dtd files such as bookmap.dtd,map.dtd,concept.dtd.
so my doubt is we have to modify the schema in each and every case?Derek Read October 30, 2013 at 5:42 pm
Reply to: adding an non existing element to xmetalOctober 30, 2013 at 5:42 pm
If you wish to modify your DITA DTDs then the only proper way to do that is through specialization. The only supported way to make changes to the DITA DTDs is to specialize them (you should not make direct changes to the standard DITA DTDs).
Once you have created a valid specialized DITA DTD follow the instructions on setting up XMetaL Author Enterprise to use it in the Help. The topic is listed in the Help's Contents tab under Working with DITA > DITA Specializations.
Based on the questions you have asked on the forum I think you may wish to consult directly with someone familiar with specializing DITA before you proceed (you may also wish to brush up on XML in general as well as DITA specifically). Note that if you do plan to specialize DITA for use with XMetaL Author Enterprise you must specialize the DITA DTDs. XMetaL Author (as an editor for all types of XML content) fully supports XSDs but the customization provided for authoring DITA is designed to work only with the DITA DTDs and so specialization must be done on the DTDs.
To answer your last question (“so my doubt is we have to modify the schema in each and every case?”):
You should not be modifying the standard DITA DTDs at all. When you create a specialized DITA DTD you are creating a new DTD. It will reference large portions of the DITA DTDs (essentially including them in itself) and then make additions to it for your new elements.
I really question what you are doing…
I think you should seriously consider that you may have some wrong ideas about what you want to do and how to use Teamcenter together with XMetaL. Please consult with the support people for Teamcenter as there is no need to modify DITA in any way in order to support images (from the XMetaL Author Enterprise side). DITA has an element and XMetaL Author Enterprise is configured to render images referenced by that element.
If necessary, the Teamcenter support people should be able to help you configure and use their integration properly so that you can reference images located in the CMS. I believe their CMS integration with XMetaL Author Enterprise does not use our “XMetaL Connector” layer and so they may have special instructions for you that specifically tell you not to use the Insert > Image dialog in XMetaL when inserting images and there may be other standard features they do not support. For most CMS integrations (those that use our XMetaL Connector layer) when you select Insert > Image that dialog allows you to browse for images directly in the CMS (it is designed to know you have a CMS integration installed and not to browse the local file system). Once an image is selected all of the proper XML markup is automatically created in that case, including any translation from CMS references to local references as well as checking the image out and downloading it to your local file system's CMS temp folder so that XMetaL can render it. However, because of the special way the Teamcenter integration works you must follow their instructions exactly and ignore portions of our user interface that their integration does not support.
- You must be logged in to reply to this topic.