100 likes | 220 Views
OASIS SDD TC File Content Proposal. Brent Miller, IBM. Problem Statement. “File” and “Files” as used in the PackageDescriptor might cause confusion Interpreted as “resulting” files in a file system
E N D
OASIS SDD TC FileContent Proposal Brent Miller, IBM
Problem Statement • “File” and “Files” as used in the PackageDescriptor might cause confusion • Interpreted as “resulting” files in a file system • Interpreted as executable code or program data only (but can be documentation, license agreements, etc.) • Some overlap with proposal for CML models for “files” • OGF-ACS calls these things “content” (and we have aligned our PackageDescriptor with OGF-ACS)
Proposal Overview • Change “File” to “Content” • More accurate description • Should cause less confusion • Nice symmetry with our “Content Elements” • Consistent with OGF-ACS • A simple “global replace” of “File” with “Content” in the schema works very nicely (see next slide)
Proposal Details – Schema (1) Package Descriptor <complexType name="PackageDescriptorType"> <sequence> <element name="PackageIdentity" type="sdd-pd:PackageIdentityType"/> <element name=“Contents" type="sdd-pd:ContentsType"/> <element ref="ds:Signature" minOccurs="0"/> </sequence> <attributeGroup ref="sdd-common:DescriptorInfoGroup"/> </complexType>
Proposal Details – Schema (2) Package Descriptor <complexType name=“ContentsType"> <sequence> <element name=“Content" type="sdd-pd:ContentType" maxOccurs="unbounded"/> </sequence> </complexType> <complexType name=“ContentType"> <sequence> <group ref="sdd-pd:DigestInfoGroup" minOccurs="0"/> </sequence> <attribute name="id" type="ID" use="required"/> <attribute name="pathname" type="anyURI" use="required"/> <attribute name="purpose" type="sdd-pd:ContentPurposeType" default="content" use="optional"/> <attribute name="charEncoding" type="string" use="optional"/> <attribute name="length" type="nonNegativeInteger" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Proposal Details – Schema (3) Package Descriptor <simpleType name=“ContentPurposeType"> <union memberTypes="sdd-pd:SDDContentPurposeType NCName"/> </simpleType> <simpleType name="SDDContentPurposeType"> <restriction base="NCName"> <enumeration value="readMe"/> <enumeration value="endUserLicenseAgreement"/> <enumeration value="responseFile"/> <enumeration value="deploymentDescriptor"/> <enumeration value="packageDescriptor"/> <enumeration value="descriptorLanguageBundle"/> <enumeration value="content"/> </restriction> </simpleType> Unchanged
Proposal Details – Schema (4) Deployment Descriptor <complexType name="ArtifactType"> <sequence> <element name="Arguments" type="sdd-dd:ArgumentListType" minOccurs="0"/> <element name="OutputVariables" type="sdd-dd:OutputVariableListType" minOccurs="0"/> <element name="AdditionalContent" type="sdd-dd:AdditionalContentType" minOccurs="0" maxOccurs="unbounded"/> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name=“contentRef" type="token" use="optional"/> <attribute name="resourceRef" type="IDREF" use="optional"/> <attribute name="type" type="sdd-dd:ArtifactTypeNameType" use="optional"/> <attribute name="weight" type="positiveInteger" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType> <complexType name="AdditionalContentType"> <sequence> <element name="Substitution" type="sdd-dd:SubstitutionType" minOccurs="0" maxOccurs="unbounded"/> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name=“contentRef" type="token" use="required"/> <attribute name="type" type="sdd-dd:ArtifactTypeNameType" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Proposal Details – Schema (5) Deployment Descriptor <complexType name="ReferencedPackageType"> <sequence> <element name="RequiredContentSelection" type="sdd-dd:ReferencedPackageRequiredContentSelectionType" minOccurs="0"/> <element name="Arguments" type="sdd-dd:ArgumentListType" minOccurs="0"/> <element name="OutputVariables" type="sdd-dd:ReferencedPackageOutputVariableListType" minOccurs="0"/> <element name="Requirements" type="sdd-dd:ReferencedPackageRequirementsType" minOccurs="0"/> <element name="ResultingResourceMap" type="sdd-dd:ReferencedPackageResultingResourceMapType" minOccurs="0" maxOccurs="unbounded"/> <element name="ResultingChangeMap" type="sdd-dd:ReferencedPackageResultingChangeMapType" minOccurs="0" maxOccurs="unbounded"/> <element name="RequiredResourceMap" type="sdd-dd:ResourceMapType" minOccurs="0" maxOccurs="unbounded"/> <element name="SupportedLanguages" type="sdd-dd:LanguageSetType" minOccurs="0"/> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="id" type="ID" use="required"/> <attribute name=“contentRef" type="token" use="required"/> <attribute name="descriptorID" type="sdd-common:UUIDType" use="optional"/> <attribute name="weight" type="positiveInteger" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Proposal Details – Schema (6) Deployment Descriptor <complexType name="InternalDependencyType"> <sequence> <group ref="sdd-dd:DescriptionGroup" minOccurs="0"/> </sequence> <attribute name="type" type="sdd-dd:DependencyType" use="optional" default="pre-req"/> <attribute name="contentElementRef" type="IDREF" use="required"/> <attribute name="contentElementRefOperation" type="sdd-dd:OperationApplicabilityType" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType> … <complexType name="ContentReferenceType"> <attribute name="contentElementRef" type="IDREF" use="required"/> <attribute name="packageFeatureRef" type="NCName" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType> Side effect of changing fileRef contentRef – these already were called contentRef; change to contentElementRef to distinguish
Proposal Details – Specification • Specification updates to match these new property names should be straightforward • If adopted by the TC, this needs to be reviewed with Fukui-san for GGF-ACS