***********************************************************************
MatML DTD Version 1.0
This is a working draft and should not be considered an official
recommendation or standard.
Initial Draft
28 April 2000
Prepared by E.F. Begley (begley@nist.gov) on behalf of the MatML
Working Group.
Revision History
10 May 2000
Changed per suggestion by P. Murray-Rust
• type attribute recast as a parameter entity
Copyright Notice
This work is an official contribution of the National Institute
of Standards and Technology and is not subject to copyright in
the United States.
***********************************************************************
***********************************************************************
COMMENTARY INCLUDING SAMPLE MARKUP
***********************************************************************
This statement declares what is known as a parameter entity in XML
DTD's. In this case, the parameter entity type is being defined as
having the value "text", "integer", or "float". Parameter entities
such as type, which is used in both PropertyValue and ParameterValue,
are very useful for modularizing DTD's. The entity type is declared
here so that it can be used later in the specific declarations for the
PropertyValue and ParameterValue elements.
Sample Markup for type
Sample markup for type appears in PropertyValue and
ParameterValue.
***********************************************************************
This statement declares the content model for MatML_Materials_Doc,
topmost in the hierarchy of elements that comprise a document marked up
using MatML. Content models describe the relationships of the element
and its child elements and/or textual content. Here, the declaration
for MatML_Materials_Doc says that it must contain one or more Material
elements.
Note
The Material element has an appended + sign. The + is one of
several indicators in XML DTD's.
1. + means the element must occur one or more times.
2. ? means the element can appear once or not at all.
3. * means the element can appear zero or more times.
4. If there is no indicator present it means the element
must appear once and only once.
Sample Markup for MatML_Materials_Doc
...
...
Note
In this and subsequent markup samples, the ellipsis, ... , is
used to indicate where additional markup, if necessary, and
materials property data are placed.
***********************************************************************
This statement is a declaration of the content model for Material which
is composed of the following elements.
MaterialDescription contains a description of the material and has one
optional attribute, xmlns, for namespace linking to alternative content
models for describing a material.
Must occur once and only once.
Property contains materials property data.
Must occur one or more times.
Terms contains descriptions of the material and property terms used in
the document and has one optional attribute, xmlns, for namespace
linking to alternative content models for encoding terms.
May occur once or not at all.
Graphs contains two-dimensional graphical images and has one optional
attribute, xmlns, for namespace linking to alternative content models
for encoding graphical images.
May occur once or not at all.
Sample Markup for Material
See Sample Markup for MaterialDescription
See Sample Markup for Property
...
See Sample Markup for Terms
See Sample Markup for Graphs
***********************************************************************
The first statement declares the content model for MaterialDescription
while the second statement declares an optional attribute for
MaterialDescription called xmlns. The xmlns attribute is used to link
an alternative content model for describing a material. The content
model for MaterialDescription contains the following elements.
MaterialName contains the material's name and one optional attribute,
authority, for namespace linking to authoritative sources of material
names.
Must occur once and only once.
MaterialClass contains the material's class.
May occur once or not at all.
MaterialSubclass contains the material's subclass(es).
May occur zero or more times.
MaterialSource contains the name of the source of the material.
May occur once or not at all.
MaterialForm contains the form of the material.
May occur once or not at all.
MaterialChemistry uses the Chemical Markup Language (CML) to describe
the material's chemistry.
May occur once or not at all.
Note
As illustrated in the sample markup (see and ),
MaterialChemistry uses the Chemical Markup Language (CML). To
learn more about CML, please visit http://www.xml-cml.org/.
MaterialComments contains any comments pertinent to the description of
the material.
May occur once or not at all.
Sample Markup for MaterialDescription without xmlns Attribute
This example does not make use of the xmlns attribute for
MaterialDescription.
aluminaceramicoxideLinde CompanybarAL AL O O O
"Starting specimens of pure (greater than 99.9%),
hot-pressed alumina (Linde Company, Type A-5175) were
prepared with controlled microstructures (relative density
greater than 98% and grain size of 1 to 2 µm. Six specimens
(0.635 cm = 0.25 in. wide) by (0.381 cm = 0.15 in. high) by
(4.445 cm = 1.75 in. long) were prepared by precision
diamond machining and grinding for each grain size and each
test temperature. ... To reduce the possible scatter in
test data because of stress concentrations at sharp edges,
a radius of (0.04 cm = 1/64 in.) was ground onto the edges
of the tensile surface. The effect of this radius on
calculations based on the conventional beam-deflection
formulas was not significant and was well within
experimental error. The specimens were then annealed for 24
hours at 900°C to relieve the effects of grinding. To
obtain uniform specimens of a particular grain size in
sufficient number for testing, batches of 50 specimens were
heat-treated in an air-atmosphere furnace for various
times at 1700 °C..."
If one wishes to ascribe the value of MaterialName to an
authority, then the markup would include the authority attribute
which would give the URI for the authoritative source of material
names. The following lines of code illustrate how to do this. The
URI is fictitious.
...
Sample Markup for MaterialDescription with xmlns Attribute
This sample markup makes use of the xmlns attribute for
MaterialDescription. Suppose one wanted to identify a material
using the ASTM_E1338.dtd which Dr. Halada posted to the MatML
Discussion Forum. One assigns a prefix, here "ASTME1338" is used
but the choice is arbitrary, that is bound to the URI
"http://www.ceramics.nist.gov/matml/dtdlib/ASTM_E1338.dtd." Next,
in the markup, one refers to elements from the alternative DTD
using the bound prefix and the DTD's element names.
...
...
...
...
...
...
...
Note
There are more elements in ASTM_E1338.dtd than are illustrated
here. For more information, please see Dr. Halada's post.
***********************************************************************
The content model for Property is composed of the following elements.
PropertyDescription contains a description of the property and has one
optional attribute, xmlns, for namespace linking to alternative content
models for describing a property.
Must occur once and only once.
PropertyValue contains the values of the property and has one required
attribute, type, for indicating the type of values found in
PropertyValue. If multiple values are entered, they must be comma
delimited and synchronized with multiple entries in
PropertyValueQualifier and ParameterValue.
Must occur once and only once.
Note
The type attribute of PropertyValue may contain "text",
"integer", or "float".
PropertyValueQualifier contains the qualifiers for the values entered
in PropertyValue. PropertyValueQualifier has one required attribute,
type.
May occur once or not at all.
Notes
The type attribute of PropertyValueQualifier may contain
"precision", "type", or "uncertainty".
The "precision" choice is used when the number of significant
figures is being specified for the values in PropertyValue.
The "type" choice is used to specify the type for the values in
PropertyValue. Typical entries for type include "nominal",
"minimum", "maximum", "theoretical", "design allowable", "A-basis
statistical", "B-basis statistical", etc.
The "uncertainty" choice is used when the uncertainty is being
specified for the values in PropertyValue.
Parameter contains the names and values of the parameters under which
the values in PropertyValue were determined.
May occur zero or more times.
Sample Markup for Property
See Sample Markup for PropertyDescription
388,379,375,345,289,164,82
nominal,nominal,nominal,nominal,nominal,nominal,nominal
See Sample Markup for Parameter
***********************************************************************
The content model for PropertyDescription is composed of the following
elements. The first statement declares the content model for
PropertyDescription while the second statement declares an optional
attribute for PropertyDescription called xmlns. The xmlns attribute is
used to link an alternative content model for describing a property.
PropertyName contains the property's name and one optional attribute,
authority, for namespace linking to authoritative sources of property
names and descriptions.
Must occur once and only once.
PropertyUnits contains the units for the values in PropertyValue and
has one optional attribute, authority, for namespace linking to
authoritative sources of units.
Must occur once and only once.
DataSource contains the name of the source of the property data and has
one optional attribute, xmlns, for namespace linking to alternative
content models for describing the data source.
Must occur once and only once.
DataType contains a brief description of the data's type such as "test
data", "design data", "bibliographic data", etc.
Must occur once and only once.
MeasurementTechnique contains the name and description of the
measurement technique used to determine the values in PropertyValue.
May occur once or not at all.
PropertyComments contains any comments pertinent to the description of
the property.
May occur once or not at all.
Sample Markup for PropertyDescription
Elastic ModulusGPaJournalEvaluated
See Sample Markup for MeasurementTechnique
Digitized data were obtained from Figure 2 of the following
paper.
Title: "Mechanical Properties of Pure, Dense Aluminum Oxide
as a Function of Temperature and Grain Size"
Author(s): R.M. Spriggs, J.B. Mitchell, and T. Vasilos
Publication: Journal of the American Ceramic Society
Volume: 47 Issue: 7 Year: 1964 Page(s): 323-327
Notes
If one wants to use an alternative content model for describing a
property, then the xmlns attribute is included with a binding
prefix and a URI as illustrated in the following 3 lines of code.
The URI is fictitious.
...
See "Sample Markup for MaterialDescription with xmlns Attribute"
for full illustration of how to reference the elements of the
alternative content model using the binding prefix.
Similarly, if one wants to use an alternative content model for
describing a data source, then the xmlns attribute is included
with a binding prefix and a URI as illustrated in the following 3
lines of code. The URI is fictitious.
...
See "Sample Markup for MaterialDescription with xmlns Attribute"
for full illustration of how to reference the elements of the
alternative content model using the binding prefix.
If one wishes to ascribe the value of PropertyName to an
authority, then the markup would include the authority attribute
which would give the URI for the authoritative source of
property names. The following lines of code illustrate how to do
this. The URI is fictitious.
...
Similarly, if one wishes to ascribe the value of PropertyUnits to
an authority, then the markup would include the authority
attribute which would give the URI for the authoritative source
of property units. The following lines of code illustrate how to
do this. The URI is fictitious.
...
***********************************************************************
MeasurementTechnique is composed of the following elements.
TechniqueName contains the name of the technique used to determine the
values in PropertyValue and has one optional attribute, authority, for
namespace linking to authoritative sources of measurement techniques
and descriptions.
Must occur once and only once.
TechniqueDescription contains a description of the measurement
technique.
May occur once or not at all.
Sample Markup for MeasurementTechnique
four-point bend
The authors cite J.B. Mitchell et al., "Microstructure
Studies of Polycrystalline Refractory Oxides," Technical
Report No. RAD-TR-63-32, August 7, 1963, U.S. Dept. of
Commerce, Office of Technical Services, No. AD 413,994,
and summarize the procedure as follows. "The elastic
modulus and transverse bend strength of specimens of the
various grain sizes were determined... in an air
atmosphere. ... At least six specimens were tested at
each combination of temperature and grain size. An
internally-wound, Pt40Rh wire resistance furnace was
used to obtain the test temperatures. A Pt-Pt10Rh
thermocouple was employed to measure and control the
temperature to within ±0.5 °C. ... A variable-speed
motor was used to apply the load at a constant rate
(0.91 cm/h = 10-4 in. per second). The load
was measured with a load cell (loads accurate to
(±4.45 N = 1.0 lb) ) and specimen deflection was
measured (accurate to (±0.06 µm = 0.00025 in.))
with a linear variable differential transformer
(LVDT) suspended from the lower knife edges on a small
alumina tube. ... The entire loading mechanism was
aligned to obtain symmetrical four-point loading of
the specimens at third points over a (3.8 cm = 1.5 in.)
span. ... Grain size determinations were made with an
optical microscope using a filar eyepiece. Grain sizes
at the limit of resolution of the optical microscope
were determined by electron microscopy. A linear intercept
technique was used."
Note
If one wishes to ascribe the value of TechniqueName to an
authority, then the markup would include the authority attribute
which would give the URI for the authoritative source of
measurement technique names. The following lines of code
illustrate how to do this. The URI is fictitious.
...
***********************************************************************
Parameter is composed of the following elements.
ParameterName contains the name of a parameter under which the values
in PropertyValue were determined and has one optional attribute,
authority, for namespace linking to authoritative sources of parameter
names and descriptions.
Must occur once and only once.
ParameterValue contains the values of a parameter under which the
property data were determined and has one required attribute, type, for
indicating the type of values found in ParameterValue. If multiple
values are entered, they must be comma delimited and synchronized with
multiple entries in PropertyValue and PropertyValueQualifier.
Must occur once and only once.
Note
The type attribute of ParameterValue may contain "text",
"integer", or "float".
ParameterUnits contains the units for the values in ParameterValue and
has one optional attribute, authority, for namespace linking to
authoritative sources of units.
Must occur once and only once.
ParameterComments contains any comments pertinent to the description
of the parameter.
May occur once or not at all.
Sample Markup for Parameter
Temperature
20,400,700,1000,1200,1350,1500
°C
Digitized data. Please see PropertyComments for details.
Notes
If one wishes to ascribe the value of ParameterName to an
authority, then the markup would include the authority attribute
which would give the URI for the authoritative source of
parameter names. The following lines of code illustrate how to do
this. The URI is fictitious.
...
Similarly, if one wishes to ascribe the value of ParameterUnits
to an authority, then the markup would include the authority
attribute which would give the URI for the authoritative source
of parameter units. The following lines of code illustrate how to
do this. The URI is fictitious.
...
***********************************************************************
Terms uses the Virtual Hyperglossary (VHG(tm)) DTD for containing
descriptions of material and property terms used in the document
and has one optional attribute, xmlns, for namespace linking to
alternative content models for encoding terms.
May occur once or not at all.
Note
While the Terms element may occur once or not at all, it
encapsulates one or more termEntry elements from the VHG(tm) DTD.
Please see the description of VHG(tm) at http://www.vhg.org.uk/.
Sample Markup for Terms
Elastic ModulusEYoung's ModulusElastic Tensile ModulusModulus of ElasticityCoefficient of ElasticityStatic ModulusTensile ModulusModulus in Tension
"Elastic Modulus is a measure of rigidity or
stiffness of a material and is defined as the ratio
of stress to strain in the elastic region. E is
numerically equal to the slope of the stress-strain
curve in the range of linear proportionality of
stress to strain. Elastic Modulus is a term sometimes
used for both compressive and tensile stresses,
provided that the strain is directly proportional to
the applied stress. Nonisotropic materials may
possess greatly different compressive and tensile
stress-strain curves, and, therefore, different bulk
and elastic moduli."
The definition and other details provided here for
Elastic Modulus come from "ASM Ready Reference:
Properties & Units for Engineering Alloys",
ISBN:0-87170-585-0.
Note
If one wants to use an alternative to the VHG(tm) DTD for encoding
terms, then the xmlns attribute is included with a binding prefix
and a URI as illustrated in the following 3 lines of code. The
URI is fictitious.
...
See "Sample Markup for MaterialDescription with xmlns Attribute"
for full illustration of how to reference the elements of the
alternative content model using the binding prefix.
***********************************************************************
Graphs uses the Scalable Vector Graphics (SVG) DTD (stylable) to
describe two-dimensional graphical images and has one optional
attribute, xmlns, for namespace linking to alternative
content models for encoding graphical images.
May occur once or not at all.
Note
While the Graphs element may occur once or not at all, it
encapsulates one or more svg elements from (stylable) SVG. Please
see the description of stylable SVG at
http://www.w3.org/TR/SVG/intro.html.
Sample Markup for Graphs
This sample code was generously prepared by Dr. Peter Murray-
Rust. The code is markup for the phase diagram of sulfur and
illustrates how 2D graphics can be included in a MatML document.
Dr. Murray-Rust marked up all lines, areas, etc. using entities
so that they can be edited easily. For completeness, these
entities are included and precede the sample markup.
...
...
Note
If one wants to use an alternative to SVG for encoding graphics,
then the xmlns attribute is included with a binding prefix and a
URI as illustrated in the following 3 lines of code. The URI is
fictitious.
...
See "Sample Markup for MaterialDescription with xmlns Attribute"
for full illustration of how to reference the elements of the
alternative content model using the binding prefix.
***********************************************************************