Наряду с языком Express, для описания моделей объектов в CALS технологиях используется язык XML. Для отражения специфических особенностей промышленных изделий создаются соответствующие подмножества XML. Среди них наиболее заметен язык 3D XML, разработанный компаниями Dassault Systèmes и Lattice Technology.
Описание модели объекта на языке 3D XML должно включать ссылку на XML схему:
<?xml version="1.0" encoding="utf-8"?>
<Model_3dxml xmlns="http://www.3ds.com/xsd/3DXML"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.3ds.com/xsd/3DXML
http://www.3ds.com/xsd/3DXML/3DXML.xsd">
В структуре XML документа в общем случае присутствуют следующие контейнеры (обязательными являются <Header> и <ProductStructure>):
<Header>
<DefaultSessionProperties>
<ProductStructure>
<GeometricRepresentationSet>
Заголовок <Header> содержит такие атрибуты как версия схемы, название, имя автора, дата создания документа, например:
<Header>
  <SchemaVersion>1.0</SchemaVersion>
  <Title>letter</Title>
  <Author>Ivanov</Author>
  <Date>2008-03-21</Date>
</Header>
В контейнере <DefaultSessionProperties> приводятся сведения о параметрах представления документа — степени прозрачности (alpha), цвете, яркости. Значениями элемента <RenderingStyle> могут быть SHADING, SHADING_WITH_EDGES, WIREFRAME и др.:
<DefaultSessionProperties>
  <BackgroundColor alpha="..." blue="..." green="..." red="..."/>
  <RenderingStyle>...</Rendering Style>
</DefaultSessionProperties>
В контейнере <ProductStructure> фигурируют элементы <Reference3D> и <Instance3D>, имеющие параметры "Идентификатор" (id) и "Имя" (name). Элемент <Reference3D> описывает конструктивы, которые используются неоднократно, а элемент <Instance3D> — конкретные экземпляры конструктивов. Например, ниже описан экземпляр xi конструктива x:
<Reference3D xsi:type="Reference3DType" id="x" name="y"/>
<Instance3D xsi:type="Instance3DType" id="xi" name="y1">
  <IsAggregatedBy>zk</IsAggregatedBy >
  <IsInstanceOf>. . .</IsInstanceOf>
  <RelativeMatrix>. . .</RelativeMatrix>
</Instance3D>
В этом примере с помощью элемента <IsAggregatedBy> описывается вхождение конструктива xi в сборку zk. C помощью <IsInstanceOf> указывается наследование конструктивом xi данных, описанных в конструктиве с id="x". Элемент <RelativeMatrix> предназначен для описания положения конструктива в сборке zk.
Собственные геометрические параметры конструктива помещаются в контейнер <AssociatedData>, вложенный в контейнер <GeometricRepresentationSet>:
<GeometricRepresentationSet>
  <Representation id=... format=... version=...>
    <AssociatedData>, . .</AssociatedData>
  </Representation>
</GeometricRepresentationSet>
Здесь можно описать атрибуты точек, линий, поверхностей, материалов, цветов и т.п. по правилам, принятым в 3D XML.
Список литературы
1. 3D XML Usre's Guide. — DS, 2006.