*********************************************************************** MatML DTD 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 *********************************************************************** *********************************************************************** 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. alumina ceramic oxide Linde Company bar AL 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 Modulus GPa Journal Evaluated 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™) 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™ DTD. Please see the description of VHG™ at http://www.vhg.org.uk/. Sample Markup for Terms Elastic Modulus E Young's Modulus Elastic Tensile Modulus Modulus of Elasticity Coefficient of Elasticity Static Modulus Tensile Modulus Modulus 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™ 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. ... ... solid2 (solid1 metastable) solid2 (gas metastable) solid2 (liquid metastable) solid1 liquid gas solid1-gas solid2-gas liquid-gas solid2 (solid1-gas metastable) solid2 (gas-liquid metastable) solid2 (solid1-liquid metastable) solid1-solid2 solid2-liquid solid1-liquid solid1-solid2-gas triple point b liquid-solid2-gas triple point c solid2 (metastable solid1-liquid-gas triple point) e liquid-solid1-gas triple point f 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. ***********************************************************************